(八)数组方法

数组方法汇总

数组拼接为字符串

array.join('|');

模拟栈和队列

//将任意数量的参数添加到数组末尾,并返回当前数组长度
array.push('real');

//移除数组的最后一项,并将最后一项返回
array.pop();

//移除数组的第一项,并将第一项返回
array.shift();

//将任意数量的参数添加到数组开头,并返回当前数组长度
array.unshift('really');

排序

//反序数组(不是排序)
array.reverse();

//排序数组,可以传入一个排序方法,返回经过排序的数组
array.sort(compareFunction);

数组操作

//链接数组,根据当前数组创建一个新数组,并将参数添加到这个新数组中并返回结果数组
array.concat("");

//截取数组,将当前数组的start、end-1位置截取并返回 slice=裁切,切下
array.slice(startPos,endPos);

//粘接数组
//删除:2个参数,起始位置、删除的项数
array.splice(startPos,num);
//插入:3个参数,起始位置、删除数量、任意数量的插入项
array.splice(startPos,0,insertItems);
//替换:3个参数,起始位置、输出数量、任意数量插入项
array.splice(startPos,num,insertItems);

查找item在数组中的位置

//正序,找到返回位置,未找到返回-1
array.indexOf(item);
//逆序,找到返回位置,未找到返回-1
array.lastIndexOf(item);

迭代方法

//参数:yourFunction(item,index,array),(第二个参数为this对象,可选)
//对每一项运行给定函数,全部为true则返回true
array.every(yourFunction,[scope]);

//对每一项运行给定函数,返回该函数返回值为true的项组成的数组
array.filter(yourFunction,[scope]);

//对每一项运行给定函数,无返回值
array.forEach(yourFunction,[scope]);

//对每一项运行给定函数,返回每次函数执行的结果组成的数组,返回的是运行结果的数组
array.map(yourFunction,[scope]);

//对每一项运行给定函数,只要有一项返回true,则返回true 与every()对应
array.some(yourFunction,[scope]);

归并方法

//yourFunction(prev,current,index,array)
//正序遍历
array.reduce(yourFunction);
//逆序遍历
array.reduceRight(yourFunction);

你可能感兴趣的:((八)数组方法)