一、数组遍历元素的方法

1.forEach()

forEach()用于遍历整个数组,中途不能中断

let arr: any[] = [1, 2, 3, 4];
    arr.forEach((item,index)=>{
      console.log('值:',item,'索引:',index);
    });

foreach索引 java js foreach获取索引_foreach索引 java

二、数组返回满足条件当前值的元素的方法

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);
  }

foreach索引 java js foreach获取索引_html5_02

三、数组返回对象索引的数组方法

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));

foreach索引 java js foreach获取索引_node.js_03

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);
  }

foreach索引 java js foreach获取索引_node.js_04

四、数组返回满足条件布尔值的方法

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');

foreach索引 java js foreach获取索引_foreach索引 java_05

//当item=2时
return item == 2;

foreach索引 java js foreach获取索引_html5_06

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');

foreach索引 java js foreach获取索引_数组_07

let arr: any[] = [1, 1, 1];

foreach索引 java js foreach获取索引_数组_08

五、数组返回满足条件新数组的方法

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');

foreach索引 java js foreach获取索引_html5_09

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');

foreach索引 java js foreach获取索引_html5_10

六、数组返回数组累加求和结果的方法

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"