Javascript的数组实质是对象,它把数组的下标转换成字符串,用其作为属性,因此它明显比真正的数组慢,但它可以更方便地使用。
改变自身pop,push,reverse,shift,sort,splice,unshift, 不改变自身concat,join,slice,indexOf,lastIndexOf(后两个为1.6),1.6新增的迭代器:map,filter,forEach,every,some,1.8新增reduce,reduceRight
Array 对象的方法
FF: Firefox, N: Netscape, IE: Internet Explorer
方法
描述
FF
N
IE
concat()
向数组的副本添加新的元素,返回新的数组,原数组不受影响
1
4
4
join()
把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
1
3
4
pop()
删除并返回数组的最后一个元素
1
4
5.5
push()
向数组的末尾添加一个或更多元素,并返回新的长度。
1
4
5.5
reverse()
颠倒数组中元素的顺序。
1
3
4
shift()
删除并返回数组的第一个元素
1
4
5.5
slice()
从某个已有的数组返回选定的元素
1
4
4
sort()
对数组的元素进行排序,有一个可选参数,为比较函数。
1
3
4
splice()
删除元素,并向数组添加新元素。
1
4
5.5
toSource()
代表对象的源代码
1
4
-
toString()
把数组转换为字符串,并返回结果。
1
3
4
toLocaleString()
把数组转换为本地数组,并返回结果。
1
3
4
unshift()
向数组的开头添加一个或更多元素,并返回新的长度。
1
4
6
valueOf()
返回数组对象的原始值
1
2
4
Array 对象的属性
方法
描述
FF
N
IE
index
1
3
4
input
在普通的Array中是不具备input属性的,只有在调用String对象的match()方法后返回的数组才具有input属性。它是用来存放匹配前的原字符串的内容。
1
3
4
length
设置或返回数组中元素的数目。
1
2
4
我们先来看数组克隆,现在公认用concat()来克隆数组的速度最快。下面做一些测试,分别为直接遍历复制,array.slice(0)与array.concat()
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
判断一个变量引用的对象是否为数组。
复制代码 代码如下:
var isArray = function(a){
return a &&
typeof a === 'object' &&
typeof a.length === 'number' &&
typeof a.splice === 'function' &&
!(a.propertyIsEnumerable('length'));
}
让数组具有计算能力,这个也很常用,不要用于财会的特殊报表中。
复制代码 代码如下: