一、数组遍历元素的方法
1.forEach()
forEach()用于遍历整个数组,中途不能中断
let arr: any[] = [1, 2, 3, 4];
arr.forEach((item,index)=>{
console.log('值:',item,'索引:',index);
});
二、数组返回满足条件当前值的元素的方法
1.find()
find() 方法返回满足条件(函数内判断)的数组的第一个元素的值,find() 并不会改变数组的原始值。
let arrFind = [
{ id: 1, name: '学生1', class: '001' },
{ id: 2, name: '学生2', class: '002' },
{ id: 3, name: '学生3', class: '003' },
];
let result = arrFind.find(v => v.id == 1);
console.log('result', result);
}
三、数组返回对象索引的数组方法
1.indexOf()
indexOf()该方法返回某个元素在数组中的位置索引
let arrIndexOf = [1, 2, 3, 4];
console.log('result', arrIndexOf.indexOf(1));
console.log('result', arrIndexOf.indexOf(2));
console.log('result', arrIndexOf.indexOf(5));
2.findindex()
findindex()会遍历数组的所有元素,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1
let arrFindIndex = [
{ id: 1, name: '学生1', class: '001' },
{ id: 2, name: '学生2', class: '002' },
{ id: 3, name: '学生3', class: '003' },
];
let result = arrFindIndex.findIndex(v => (v.id = 1));
console.log('result', result);
}
四、数组返回满足条件布尔值的方法
1.includes()
includes()方法,用于检查数组是否包含某个元素,返回一个布尔值。一般用于简单数组。
let arr: any[] = [1, 2, 3, 4];
let result = arr.includes(1, 2);
//第一个参数为搜索的元素,第二个是开始搜索的位置,返回值是true或false
console.log(result ,'result ');//false "result"
2.some()
some()对数组的每一项都运行给定的函数,若存在一项或多项返回 ture,则返回 true,不满足查询条件就会停止循环
let arr: any[] = [1, 2, 3];
let result: any = arr.some((item, index, array) => {
//一满足查询条件就停止循环,返回bool
console.log('item', item);
return item == 3;
});
console.log(result, 'result');
//当item=2时
return item == 2;
3.every()
every() 对数组的每一项都运行给定的函数,若每一项都返回 ture,则返回 true,不满足查询条件就会停止循环
let arr: any[] = [1, 2, 2];
let result: any = arr.every((item, index, array) => {
//不满足查询条件就停止循环,返回bool
console.log(item, 'item');
return item == 1;
});
console.log(result, 'result');
let arr: any[] = [1, 1, 1];
五、数组返回满足条件新数组的方法
1.map()
map() 方法来根据需求格式化原数组,返回格式化后的数组。原数组不变
let arrMap: any[] = [1, 2, 3];
let result: any[] = arrMap.map((value, index) => {
//value当前值,index当前索引
console.log(value,'value',index,'index');
return value * 2;
});
console.log(result,'result');
2.filter()
filter() 方法返回数组中满足条件的元素组成的新数组,原数组不变,参数按自己需求定义
let arrFilter: any[] = [1, 2, 3];
let result = arrFilter.filter((value, index, array) => {
//value为:当前值,index为当前索引,array为arr数组
console.log(value,'value',index,'index');
return value > 1;
});
console.log(result,'result');
六、数组返回数组累加求和结果的方法
1.reduce()
reduce() 方法接收一个函数作为累加器(常用于计算数组值的和),数组中的每个值(从左到右)开始缩减,最终计算为一个值。一般需要传两个参数,第一个参数为当前值左边数组元素累加的和,第二个参数为当前的值,注意: reduce() 对于空数组是不会执行回调函数的
let arr: any[] = [1, 2, 3, 4];
let result = arr.reduce((a, b) => {
//a是累加的和,b是当前的值
return a + b;
});
console.log(result,'result');//输出:10 "result"