Array()是我们在js中常常写到的代码,今天就总结哈Array的对象具有哪些方法,感兴趣的朋友可以了解下
var list = new Array()是我们在js中常常写到的代码,今天就总结哈Array的对象具有哪些方法。
list[0] = 0;
list[1] = 1;
list[2] = 2;
或者这样声明:var list = [0,1,2]
1 shift()t:删除数组的第一个元素,返回删除的值。这里是0
2 unshift(3,4):把参数加载数组的前面,返回数组的长度。现在list:中是3,4,0,1,2
3pop():删除数组的最后一个元素,返回删除的值。这里是2.
4push(3):将参数加载到数组的最后,返回数组的长度,现在List中时:0,1,2,3
5concat(3,4):把两个数组拼接起来。
6splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,... (操作数组本身)
splice有很多种用法,比如:删除、插入和替换。
var colors=["red","green","blue"];
var removed=colors.splice(0,1) //输出第一项
alert(colors); //green,blue
alert(removed); //red,返回的数组中只包含一项
removed=colors.splice(1,0,"yellow","orange"); //从位置1开始插入两项
alert(colors); //green,yellow,orange,blue
alert(removed); //返回的是一个空数组
removed=colors.splice(1,1,"red","purple"); //从位置1开始插入两项
alert(colors); //green,red,purple,orange,blue
alert(removed); //yellow,返回的数组中只包含一项
reverse:将数组反序
var a = [1,2,3,4,5];
var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]
sort(orderfunction):按指定的参数对数组进行排序
var a = [1,2,3,4,5];
var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]
slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组 (不操作数组本身)
var a = [1,2,3,4,5];
var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]
join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
var a = [1,2,3,4,5];
var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"
ECMA5数组的新方法
位置方法 indexOf() lastIndexOf()
迭代方法 every filter forEach some map
缩小方法 reduce refuceRight
位置的方法
str.indexOf(searchValue, fromIndex
)
searchValue
一个字符串表示被查找的值。
fromIndex 可选
表示调用该方法的字符串中开始查找的位置。可以是任意整数。默认值为 0。如果
fromIndex < 0
则查找整个字符串(如同传进了 0)。如果
fromIndex >= str.length
,则该方法返回 -1,除非被查找的字符串是一个空字符串,此时返回 str.length。
返回值
指定值的第一次出现的索引; 如果没有找到 -1。
lastIndexOf()同indexOf();
迭代的方法
every()
句法
arr
.every(
callback
[,
thisArg
])
callback
测试每个元素的功能,采用三个参数
currentValue
(需要)
正在数组中处理的当前元素。
index
(可选的)
在数组中正在处理的当前元素的索引。
array
(可选的)
数组
every
被调用。
thisArg
可选的。
this
执行时使用的值
callback
。
返回值:
true
如果回调函数返回每个数组元素的
真实
值; 否则
false
。(对数组的每一个元素进行函数的运行)
function
isBigEnough
(
element
,
index
,
array
)
{
return
element
>=
10
;
}
[
12
,
5
,
8
,
130
,
44
].
every
(
isBigEnough
);
// false
[
12
,
54
,
18
,
130
,
44
].
every
(
isBigEnough
);
// true
filter() 基本参数同上
返回值 过滤之后的结果
function isBigEnough(element, index, array) {
return element >= 10;
}
var a=[12, 5, 8, 130, 44].filter(isBigEnough); //
12,130,44
forEach() 基本参数同上
语法
array.forEach(callback(currentValue, index, array){
//do something}, this)array.forEach(callback[, thisArg])
var
arr
=
[
'a'
,
'b'
,
'c'
];
arr
.
forEach
(
function
(
element
)
{
console
.
log
(
element
);
});
//a
//b
//c
map() 基本参数同上
创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。(不操作原来的数组)
function isBigEnough(element, index, array) {
return element*2;
}
var a=[12, 5, 8, 130, 44].map(isBigEnough);
//
24, 10, 16, 260, 88
some() 基本参数同上
测试数组中至少有一个元素是否通过由提供的函数实现的测试。
function isBigEnough(element, index, array) {
return element >= 10;
}
var a=[12, 5, 8, 9, 2].some(isBigEnough); // true
var b=[6, 5, 8, 9, 2].some(isBigEnough); // false