(1)filter(funtion(){...}):过滤数组
该方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。(JavaScript版本:1.6)
ES6写法:
var arr = ['a','b','c','a'];
var newArr = arr.filter(item=>item === 'a');
console.log(newArr);//['a','a']
ES5写法:
var arr = ['a','b','c','a'];
var newArr = arr.filter(function(item){
return item === 'a';
});
return后面判断结果,取布尔值,true的话就添入新的filter数组中,false的话,不会添进filter的数组中。
(2)findIndex(funtion(){...}):
返回满足回调函数中指定的测试条件的第一个数组元素的索引值(没有匹配项则返回-1)(JavaScript版本:1.6)
var arr = ['a','b','c'];
var index= arr.findIndex(item=>item === 'a');
console.log(index);//0
(3)find(funtion(){...}):
用于找出第一个符合条件的数组成员(JavaScript版本:1.6)
var arr = ['a','b','c'];
var item= arr.findIndex(item=>item === 'a');
console.log(item);//a
(4)map(funtion(){...}):
方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。(JavaScript版本:1.6)
注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。
var arr = [
{id:1,name:'zhansan'},
{id:2,name:'lisi'},
{id:3,name:'wangwu'}];
var newArr= arr.map(item=>item.id);
console.log(newArr);//[1,2,3]
(5)splice(index,howmany,...item):
从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组(JavaScript版本:1.2)
index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany:必须。要删除的项目数量。如果设置为 0,则不会删除项目
...item:可选。向数组中添加的新项目
例1:删除元素
var arr = ['a','b','c','d','e'];
var item = arr.splice(1,2);
console.log(item);//[b,c]
console.log(arr);//[a,d,e]
例2:添加元素
var arr = ['a','b','c','d','e'];
arr.splice(1,0,'insert');
console.log(arr);//['a','insert','b','c','d','e']
(6)sort()
用于对数组的元素进行排序(数组在原数组上进行排序,不生成副本。返回原数组)
例1:按照默认规则排序(字母排序)
var arr = ['b','add','cf'];
console.log(arr.sort());//['add','b','cf']
例2:按照自定义规则排序(按照长度排序)
var arr = ['b','add','cf'];
function utils(a,b){
return a.length - b.length;
}
console.log(arr.sort(utils));//['b','cf','add']