javascript笔记整理(数组对象)
1、属性
a.length--设置或返回数组元素的数目
var a=[1,2,3,45,5];
alert(a.length=6) 结果:6
alert(a[5]) 结果:undefined
b.constructor--返回构造函数的引用
var test=new Array();
alert(test.constructor==Array); true
2、方法
a.删除或添加类
1.push()--向数组的末尾添加一个或更多元素,并返回新的长度
var a=[1,2,3,4,5];
alert(a.push('a','b')); 结果:7
alert(a); 结果:1,2,3,4,5,a,
2.unshift()--向数组的开头添加一个或更多元素,并返回新的长度
var a=[1,2,3,4,5];
alert(a.unshift('a','b')); 结果:7
alert(a); 结果:a,b,1,2,3,4,5
3.pop()--删除数组的最后一个元素,返回删除的元素
var a=[1,2,3,4,5];
alert(a.pop()); 结果:5
alert(a); 结果:1,2,3,4
4.shift()--删除数组的第一个元素,返回删除的元素
var a=[1,2,3,4,5];
alert(a.pop()); 结果:1
alert(a); 结果:2,3,4,5
5.splice(index,num,item1,.....itemX)--删除元素,并向数组添加新元素
index 必需。从何处开始添加或删除,必须是数值类型(数组的下标)
num 必需。规定了删除的个数,如果是0,则不删除
item 可选。需要添加的元素,可以当作替换的元素
如果有删除的元素,返回删除的元素;如果没有删除的元素,返回为空,添加的元素在index值前面
var a=[1,2,3,4,5];
alert(a.splice(0,1,'a','b')); 结果:1
alert(a); 结果:a,b,2,3,4,5
b.数组的转换
join(separator)--将数组分割成字符串
separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符,返回结果就是组合成的字符串
var a=[1,2,3,4,5];
alert(a.join('-')); 结果:1-2-3-4-5
c.数组的分割
slice(start,end)--从某个已有的数组返回选定的元素
start:必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end:可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
var a=[1,2,3,4,5];
alert(a.slice(1,4)); 结果:2,3,4
alert(a.slice(-4,-1)); 结果:2,3,4
alert(a.slice(-2)); 结果:4,5
不包括,end值的元素
d.排序(冒泡排序)
sort(sortby) 对数组的元素进行排序
sortby:可选。规定排序顺序。必须是函数。如果没有参数,则按照字母的编码进行排序.
sortby会提供两个参数(a,b)
a<b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值
a=b,则返回 0。
a>b,则返回一个大于 0 的值
var a=[1,2,3,22,5];
alert(a.sort()); 结果:1,2,22,3,5
alert(a.sort(function(a,b){return b-a})); 结果:22,5,3,2,1
alert(a.sort(function(a,b){return a-b})); 结果:1,2,3,5,22
f.数组的连接
concat()--连接两个或更多的数组,并返回结果,对原数组没有任何影响
var a=[1,2,3,22,5];
var b=['a','b','c'];
alert(a.concat(b)); 结果:1,2,3,22,5,a,b,c
代码实践:
----------------冒泡排序--------------
var a=[34,13,8,22,5];
function arrsort(){
for(var i=0;i<=this.length;i++){
for(var j=0;j<=this.length-1;j++){
var aa=this[j];
if(this[j]<this[j+1]){
this[j]=this[j+1];
this[j+1]=aa;
}
}
}
return this;
}
Array.prototype.arrSort=arrsort;
alert(a.arrSort()); 结果:34,22,13,8,5
-----------------删除数组的重复元素--------------
var a=[34,13,22,22,5,'aa','aa'];
function arrsort(){
for(var i=0;i<=this.length;i++){
for(var j=0;j<=this.length-1;j++){
if(this[j]===this[j+1]){
this.splice(j,1);
}
}
}
return this;
}
Array.prototype.arrSort=arrsort;
alert(a.arrSort()); 结果:34,13,22,5,aa
javascript笔记整理(数组对象)的更多相关文章
- javascript笔记整理(对象遍历封装继承)
一.javascript对象遍历 1.javascript属性访问 对象.属性名 对象['属性名'] var obj={name:'chen',red:function(){ alert(1);ret ...
- javascript笔记整理(对象的继承顺序、分类)
Object.prototype.say=function(){ alert("我是顶层的方法"); } children.prototype=new parent(); pare ...
- javascript笔记整理(对象基础)
一.名词解释 1.基于对象(一切皆对象,以对象的概念来编程) 2.面向对象编程(Object Oriented Programming,OOP) A.对象(JavaScript 中的所有事物都是对象) ...
- 运维开发笔记整理-QueryDict对象
运维开发笔记整理-QueryDict对象 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 客户端发送数据请求有很多种,相信运维人员已经很清楚了,如果不太清楚的话可以参考我之前的学习笔 ...
- 运维开发笔记整理-JsonResponse对象
运维开发笔记整理-JsonResponse对象 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.使用HttpResponse发送json格式的数据 1>.HttpRespo ...
- 运维开发笔记整理-Request对象与Response对象
运维开发笔记整理-Request对象与HttpResponse对象 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.request对象 1>.什么是request 首先,我 ...
- javascript中的数组对象
1.创建数组的三种方式: 1.1 var 数组名=[元素1,元素2,元素3...]; 例如: var arr1=[1,2,3,4]; 1.2 var 数组名=new Array(元素1,元素2,元素3 ...
- javascript:类数组 -- 对象
在javascript中,对象与数组都是这门语言的原生规范中的基本数据类型,处于并列的位置. 类数组:本质是一个对象,只是这个 对象 的属性有点特殊,模拟出数组的一些特性. 一般来说,如果我们有一个 ...
- JavaScript中Array(数组) 对象
JavaScript中Array 对象 JavaScript中创建数组有两种方式 (一)使用直接量表示法: var arr4 = []; //创建一个空数组var arr5 = [20]; // 创建 ...
- JavaScript深入之类数组对象与arguments(转载)
类数组对象 所谓的类数组对象: 拥有一个 length 属性和若干索引属性的对象 举个例子: var array = ['name', 'age', 'sex']; var arrayLike = { ...
随机推荐
- foreach遍历对象的属性
<?php class MyClass { public $var1 = 'value 1' ; public $var2 = 'value 2' ; public $var3 = 'value ...
- 【转】Plotting texts as graphs with R and igraph
原文转自:http://blog.ynada.com/303 I’ve plotted several word association graphs for this New York Times ...
- Kettle之数据抽取、转换、装载
Kettle 官网 ETL利器Kettle实战应用解析系列 利用kettle组件导入excel文件到数据库 kettle中实现动态SQL查询 java中调用kettle转换文件
- MFC基础,MFC自绘控件学习总结.---转
前言:从这学期开始就一直在学习自绘控件(mfc),目标是做出一款播放器界面,主要是为了打好基础,因为我基础实在是很烂....说说我自己心得体会以及自绘控件的方法吧,算是吐槽吧,说的不对和不全的地方,或 ...
- 关于JAVA 向上转型
最近复习中比较绕的一个地方 通过试验总结一下 若A为父类 B为子类 声明方式为: A t= new B(); 将子类对象赋值给父类对象,它编译时为父类对象,但运行时却是子类对象: 1)被声明为父类对象 ...
- 关于闹钟设置AlarmManager类方法参数解释
1.AlarmManager,顾名思义,就是“提醒”,是Android中常用的一种系统级别的提示服务,可以实现从指定时间开始,以一个固定的间隔时间执行某项操作,所以常常与广播(Broadcast)连用 ...
- BootStrap - 时间组件
效果: CSS代码: JS代码: 调用:
- [HDU 1428]--漫步校园(记忆化搜索)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1428 漫步校园 Time Limit: 2000/1000 MS (Java/Others) M ...
- js默认行为(也称默认事件)
对应于智能社21课, 在浏览器的空白页面右击时会出现一个提示框,实际上这是用的document.oncontextmenu属性,如果用下面的代码就能够阻止这样的默认行为: <!DOCTYPE h ...
- 将时间显示为“刚刚”“n分钟/小时前”等
在很多场合为了显示出信息的及时性,一般会将时间显示成“刚刚”,“5分钟前”,“3小时前”等,而不是直接将时间打印出来.比如微博,SNS类应用就最长用到这个功能.而一般存储在数据库中的时间格式为 Uni ...