2、数组常用方法和自定义方法
数组常用方法
filter
这个方法用来查找数组里的元素,返回的也是数组,类似C#中集合的FindAll方法
ES6以前要查找数组的元素
var newarray=[];
var array=["fhzm","ace","trao"];
for(var i=0;i<array.length;i++){
if(array[i]=="fhzm"){
newarray.push(array[i]);
}
}
console.log(newarray);
使用filter方法同样也是返回数组
var array=["fhzm","ace","trao"];
var newarray=array.filter(m=>m=="ace");
console.log(newarray);
filter原理
var array=["fhzm","ace","trao"];
var myFilter=function(array,fun){
var newArray=[];
for(var i=0;i<array.length;i++){
if( fun(array[i])){
newArray.push(array[i]);
}
}
return newArray;
}
console.log(myFilter(array,a=>a=="trao"));
some
返回布尔值,用来判断数组是否包含某个元素或者是否满足某个条件,类似C#中集合的Any方法
var array=["fhzm","ace","trao"];
var b=array.some(m=>m=="ace");
console.log(b);
every
返回布尔值,用来判断数组里全部的元素是否都符合某个条件。类似C#中集合的All方法,应用场景:前端复选框全选的时候可以用这个进行判断是否全选中。
var array=["fhzm","ace","trao"];
//数组里的元素如果全部都为"ace"则返回true,
console.log(array.every(m=>m=="ace"));
includes
返回布尔值,用来判断数组中是否包含某个元素
var array=["fhzm","ace","trao"];
console.log(array.includes("ace"));
concat
返回数组,用来连接两个数组
var list1=[1,2,3,4,5];
var list2=[6,7,8,9,10];
var list=list1.concat(list2);
console.log(list);
push和unshift
push用于向数组尾部插入元素
unshift用于向数组头部插入元素
var list1=[1,2,3,4,5];
list1.push(6);
list1.unshift(0);
console.log(list1);
splice
用来向数组中删除数据或者插入数据
删除元素
第一个参数,删除的开始位置,第二个参数,要删除的元素个数
var list1=[1,2,3,4,5];
list1.splice(1,2);
console.log(list1);//1,4,5
插入元素
第一个参数,插入数据的开始位置,第二个参数还是表示要删除的长度(0表示不删除),第三个参数是插要入的元素,要插入多个元素就在后面继续写即可,因为是数组,所以也可以插入对象
var insertarray=[11,22]
var list1=[1,2,3,4,5];
list1.splice(1,0,11,22);
console.log(list1);//1,11,22,2,3,4,5