4.3.1、forEach 对数组执行遍历

遍历数组中的每一项,没有返回值,对原数组没有影响

  1. var arr = [2,3,4,5];
  2. arr.forEach((item,index)=>{
  3. console.log(item+"--"+index)
  4. })
  5. /*
  6. 2--0
  7. 3--1
  8. 4--2
  9. 5--3*/

4.3.2、of 方法

  1. var arr = [1,2,3];
  2. for(var i of arr){
  3. console.log(i)
  4. }
  5. //
  6. 1
  7. 2
  8. 3

4.3.3、map方法 (有return)

执行map不会改变数组的结构

  1. var arr = [1,2,3];
  2. var res = arr.map(item=>{
  3. return item*2
  4. })
  5. console.log(arr); // [1,2,3]
  6. console.log(res); // [2,4,6]

4.3.4、some方法 (有return)

只要数组中有一项满足条件,就输出true

  1. var arr = [1,2,3,4,5];
  2. var res = arr.some(item=>{
  3. return item>3
  4. })
  5. console.log(res); //true

4.3.5、every方法 (有return)

数组的每一项满足条件,才输出true,否则false

  1. var arr = [1,2,3,4,5];
  2. var str = arr.every(item=>{
  3. return item>0
  4. })
  5. console.log(str); //true
  6. var stt = arr.every(item=>{
  7. return item>2
  8. })
  9. console.log(stt); //false

4.3.6、findeIndex 方法 (有return)

找到符合条件的就返回,返回对应的下标,没有就返回-1

  1. var arr = [1,2,3,4,5];
  2. var a = arr.findeIndex(item=>{
  3. return item == 2;
  4. })
  5. console.log(a); // 1

4.3.7、find 方法 (有return)

找到一个就返回匹配的元素,没找到就返回undefined

  1. var arr = [1,2,3,4,5,6,7,8,9,10];
  2. var fin = arr.find(item=>{
  3. return item>2
  4. })
  5. console.log(fin); // 3

4.3.8、filter 方法 (有return)

筛选,不会改变原数组,会返回一个筛选成功匹配的元素组成的新数组

  1. var arr = [1,2,3,4,5,6];
  2. var res = arr.filter(item=>{
  3. return item>3
  4. })
  5. console.log(res) // [4,5,6]

4.3.9、数组的指针

1.数组的每一项是基础(简单)类型,执行map不会改变数组原来的结构
2.数组的每一项是复杂类型{object},那么执行map方法会改变原来的数据结构

  1. var arr = [1,2,3];
  2. var res = arr.map(item=>{
  3. return item*3;
  4. })
  5. console.log(arr);
  6. console.log(res);
  7. var obj = [{name:"li",age:"10"},{age:"zhang",age:11}];
  8. var result = obj.map(item=>{
  9. return item.age = 0;
  10. })
  11. console.log(result);
  12. console.log(obj);