js中数组方法大全

js中数组方法大全

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 1 Arry.map() 此方法是将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变原数组
      let arr = [1, 2, 3, 4, 5];
      let newArr = arr.map((x) => x * 2);
      console.log("原数组", arr); //  [1, 2, 3, 4, 5]
      console.log("新数组", newArr); // [2, 4, 6, 8, 10]

      // 2 Arry.forEach此方法是将数组中的每个元素执行传递的函数,没有返回的值,注意和map的区别)
      let arr2 = [1, 2, 3, 4, 5];
      arr2.forEach(function (item, index) {
        if (index === 2) {
          return;
        }
        console.log(item); // 1 2 4 5
      });

      // 3 Arry.filter()  此方法是将所有的元素进行判断,将满足条件的元素做为一个新的数组返回
      let arr3 = [1, 2, 3, 4, 5];
      let big = (item) => item > 3;
      let newArr3 = arr3.filter(big);
      console.log(newArr3); // [4,5]

      // 4 Arry.every() 将所有的元素进行判断返回一个布尔值,如果所有的元素都满足判断的条件,则返回true。反之为false
      let arr4 = [1, 2, 3, 4, 5];
      let bigThan6 = (item) => item > 6;
      let lessThan7 = (item) => item < 7;
      let lessThan2 = (item) => item < 2;
      arr4.every(bigThan6);
      arr4.every(lessThan2);
      arr4.every(lessThan7);
      console.log(arr4.every(bigThan6)); // false
      console.log(arr4.every(lessThan2)); // false
      console.log(arr4.every(lessThan7)); // true

      // 5 Arry.some() 此方法是将所有元素进行判断返回一个布尔值,如果存在元素都满足判断条件,则返回true
      let arr5 = [1, 2, 3, 4, 5];
      let bigThan = (item) => item > 6;
      let lessThan1 = (item) => item < 7;
      let lessThan11 = (item) => item < 2;
      arr5.some(bigThan);
      arr5.some(lessThan1);
      arr5.some(lessThan11);
      console.log(arr5.some(bigThan)); // false
      console.log(arr5.some(lessThan1)); // true
      console.log(arr5.some(lessThan11)); // true

      // 6 Arry.reduce()  此方法是所有元素调用返回函数,返回值为最后结果,传入的值必须是函数类型:
      // 与之相对应的还有一个 Array.reduceRight() 方法,区别是这个是从右向左操作的
      let arr6 = [1, 2, 3, 4, 5];
      let jian = (a, b) => b - a;
      let jians = arr6.reduce(jian);
      let jians2 = arr6.reduceRight(jian);
      console.log(jians); // 3
      console.log(jians2); // 3

      // 7 Arry.push() 此方法是在数组的后面添加一个或多个新加元素,此方法改变了数组的长度:
      let arr7 = [1, 2, 3, 4, 5];
      arr7.push(6, 7, 8, 9);
      console.log(arr7); // [1,2,3,4,5,6,7,8,9]
      console.log("7", arr7.length); // 9

      // 8 Arry.pop() 此方法是删除数组最后面的一个元素,并返回数组,此方法改变了数组的长度
      let arr8 = [1, 2, 3, 4, 5];
      arr8.pop();
      console.log("8", arr8.length); // 4
      console.log(arr8); // [1,2,3,4]

      // 9 Arry.shift() 此方法是删除数组的第一个元素,并返回新的数组,此方法改变了数组的长度
      let arr9 = [1, 2, 3, 4, 5];
      arr9.shift();
      console.log("9", arr9); // [2,3,4,5]
      console.log(arr9.length); // 4

      // 10 Arry.unshift()
      let arr10 = [1, 2, 3, 4, 5];
      arr10.unshift(8, 9);
      console.log("10", arr10); // [8,9,1,2,3,4,5]
      console.log(arr10.length); // 7

      // 11 Array.isArray() 判断一个对象是不是数组,返回的是布尔值(还有如下几种方法)
      let arr11 = [1, 2, 3, 4, 5];
      let arr12 = 123;
      console.log("11", Array.isArray(arr11)); // true
      console.log(Array.isArray(arr12)); // false
      console.log(arr11 instanceof Array); // true
      console.log(arr12 instanceof Array); // false
      console.log(arr11.constructor == Array); // true
      console.log(arr12.constructor == Array); // false

      // 12 Arry.concat() 此方法是一个可以将多个数组拼接成一个数组
      let arr13 = [1, 2, 3];
      let arr14 = [4, 5];
      let arr15 = arr13.concat(arr14);
      console.log("12", arr15); //[1, 2, 3, 4, 5]

      // 13 Arry.toString()此方法将数组转化为字符串,括号 里面加参数没有效果,故不用加参数
      let arr16 = [1, 2, 3, 4, 5];
      console.log("13", arr16.toString()); // 1,2,3,4,5

      // 14 Arry.join() 此方法将数组转化为字符串,括号里面可以加参数
      let arr17 = [1, 2, 3, 4, 5];
      let str1 = arr17.join("");
      console.log("str1", str1); // 12345
      console.log("数据的类型", typeof str1); // 数据的类型 string
      let str2 = arr17.join(",");
      console.log("str2", str2); // 1,2,3,4,5
      let str3 = arr17.join("##");
      console.log("str3", str3); // 1##2##3##4##5

      // 15 Arry.splice(开始的位置,删除的个数, 元素) 可以实现数组元素的删除  替换  添加,两个参数则是数组元元素的删除
      let arr18 = [1, 2, 3, 4, 5];
      arr18.splice(2, 1); // 从下标为2开始,删除一个
      console.log("18", arr18); // [1, 2, 4, 5]
      arr18.splice(0, 3, 99999); // 从下标为0 ,长度为3的数组元素被替换为99999
      console.log("19", arr18); //[99999,5]
      arr18.splice(2, 0, "haha"); // 在数组的最后添加一个元素
      console.log("20", arr18); // [99999, 5, "haha"]
    </script>
  </body>
</html>

若有错误或纰漏欢迎指正!

原文地址:https://www.cnblogs.com/doudou-song/p/13724379.html