ES6中新增的数组方法

1.map:

  1.     格式:数组.map(function(item,index){});
  2.     map传入的参数为一个函数
  3.     第一个参数:数组的元素
  4.     第二个参数:数组元素的下标
  5.    返回值:新的数组。
  6.     与forEach的区别:forEach没有返回值;
//声明一个数组
let arr = [1, 3, 5, 6];
//item为数组的元素,index为数组的下标
let res = arr.map(function (item, index) {
// 让数组元素+10
 return item + 10;
 })
console.log(res);//结果为[11, 13, 15, 16]
 let res = arr.map(item => item + 10);
 // forEach没有返回值;
let res = arr.forEach(function (item, index) {
     return item + 10;
})
console.log(res);//结果为undefined

2.filter

  1.   遍历数组,过滤出一个符合条件的新数组。
  2.     传入的函数会被数组中的每一个元素都会执行一次
  3.       第一个参数为  元素
  4.       第二个参数为  元素的索引
  5.       返回值如果为true 表示条件符合。反之,不符合
  6.     不会修改原数组
 // ------------filter------------
    let arr = [1, 3, 5, 6];
    //遍历出数组中item元素中大于4的元素,返回一个大于4的新宿组
    let res = arr.filter((item, index) => { return item > 4 })
    console.log(res);

3.every

  1. 遍历数组:判断所有的严肃是否都满足条件,如果都满足,返回true,只要有一个不满足,结果就是false
    //-----------every-----------
    let arr = [1, 3, 5, 6];
    //判断item中的数组都大于0如果都大于则返沪true
    let res = arr.every((item) => item > 0)
    console.log(res);//结果返回true

       //判断item数组中每一个数是否都大于2,如果其中有一个不大于,那么就返回false
    let res = arr.every((item) => item > 2)
    console.log(res);//结果返回false

4.some

  1. 遍历数组,判断所有的元素是否有一个满足条件,如果有一个满足条件,返回true,只要都不满足,结果就返回false
    // -----------some-----------
    let arr = [1, 3, 5, 6];
    // 判断item中的数组是否满足>8只要有一个满足就返回true,此时都不满足
    let res = arr.some((item) => item > 8);
    console.log(res);//结果为false

    // 判断item中的数组是否满足>3只要有一个满足就返回true,此时都满足
    let res = arr.some((item) => item > 3);
    console.log(res);//结果为true

5.Array.form

  1.  可以将伪数组变成数组。
  // -----------Array.form-----------
    // 将一个伪数组转为数组
    function fn() {
      console.log(arguments);
      let arr = Array.from(arguments);
      console.log(arr);
    }
    fn(1,2,3)

6.Array.of()

  1. 将一组值转为数组,类似于声明数组。 可以用来解决new Array只有一个参数时的问题。

7.includes

  1. 判断数组中是否包含某一个值。
// -----------includes-----------
    let arr = [1, 2, 5, 6];
    // 数组中有没有2
    let flag = false
    for (var i = 0; i < arr.length; i++) {
      //遍历数组 
      if (arr[i] == 2) {
        flag = true;
        // 等于2的话就结束
        break;
      }
    }
    if (flag) {
      console.log("包含");
    }else{
      console.log("不包含");
    }


    // 第二种
    // indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
    if (arr.indexOf(3) != -1) {
      console.log("包含");
    } else {
      console.log("不包含");
    }

    // 第三种方法
    if (arr.includes(2)) {
      console.log("包含");
    }else{
      console.log("不包含");
    }

8.find

  1. 找到数组中第一个符合条件的元素
  2. 与filter的区别:fliter返回的是数组。find返回的是元素。filter返回的是所有符合条件的元素,find返回的是第一符合条件的
    // -----------find-----------
    let arr = [1, 5, 3, 6, 7]
    //判断数组中item>3的数组  返回的是元素,不是整个数组大于3的元素
    let res = arr.find((item) => item > 3)
    console.log(res);//结果为5

9.findIndex

  1. 找到数组中第一个符合条件的元素的索引。
 // -----------findIndex-----------
    let arr = [1, 5, 3, 6, 7]
    //判断数组中的item元素是否有大于5的 ,如果有则返回的是数组元素中的索引。
    let res = arr.findIndex((item) => item > 5)
    console.log(res);//结果为3(6)

Guess you like

Origin blog.csdn.net/m0_60585777/article/details/121505291