js中数组常用方法整理
concat
concat用于连接(合并)两个或更多的数组
let a = [1,2,3];
let b = [2,3];
let c = [4];
console.log(a.concat(b,c));//[1, 2, 3, 2, 3, 4]
filter
filter用户对数组进行筛选,筛选出符合条件的选项,返回一个新的数组
let persons = [
{name:"张三",age:20},
{name:"李四",age:18},
{name:"王五",age:20},
{name:"马六",age:22},
];
let list = persons.filter((item,index,arr)=>{
//筛选age>20的选项
return item.age > 20;
})
console.log(list);//[{name:"马六",age:22}]
find
find方法用于查找数组中是否包含某一项
fin在返回true时,会终止函数执行
let persons = [
{name:"张三",age:20},
{name:"李四",age:18},
{name:"王五",age:20},
{name:"马六",age:22},
{name:"李四",age:18},
];
let person = persons.find((item,index,arr)=>{
return item.age == 18;
})
console.log(person);//{name: "李四", age: 18}
finIndex
findIndex与find方法类似,只不过findIndex是返回符合条件的元素的索引
let persons = [
{name:"张三",age:20},
{name:"李四",age:18},
{name:"王五",age:20},
{name:"马六",age:22},
{name:"李四",age:18},
];
let person = persons.findIndex((item,index,arr)=>{
return item.age == 18;
})
console.log(person);//1
includes
includes用来检测数组中是否包含某一项,返回true或者false
let arr = [1,2,3,4,5];
console.log(arr.includes(6));//false
indexOf
用于返回数组中某一项所在的位置,如果没找到,会返回 -1
let arr = [1,2,3,4,5];
console.log(arr.indexOf(3));//2
console.log(arr.indexOf(6));//-1
isArray
用于判断一个对象是否是数组
let a = {name:1,age:22};
let b = [1,3,4];
console.log(Array.isArray(a));//false
console.log(Array.isArray(b));//true
join
用于把一个数组转为字符串,默认用逗号分割,可以传入指定分隔符
let a = [1,2,3,4];
console.log(a.join());//1,2,3,4
console.log(a.join('@'));//1@2@3@4
map
map方法用于对原数组进行处理,并返回一个新的数组,顺序与原始数组一致
let a = [1,2,3,4];
let b = a.map((item)=>{
return item*2;
})
console.log(b);//[2,4,6,8]
shift
返回并删除数组中的第一个元素
let a = [1,2,3,4];
console.log(a.shift());//1
console.log(a);//[2,3,4]
toString
把一个数组转为字符串,并以逗号分割
let a = [1,2,3,4];
console.log(a.toString());//1,2,3,4
splice
用于向数组中添加或删除元素
//index为要添加或删除元素的起始位置
// howmany为要删除的数量 必须为数字,可以为0 ,未传此参数会删除起始位置一直到结束的元素
// item为要添加的元素
arr.splice(index,howmany,item,...,item)
从索引0开始删除一个元素,并返回被删除的元素
//例如
let a = [1,2,3];
//
console.log(a.splice(0,1));//[1]
console.log(a);//[2,3]
从索引1开始,删除一个元素,并添加两个元素
let a = [1,2,3];
console.log(a.splice(1,1,5,6));//[2]
console.log(a);//[1,5,6,3]