美文网首页
JavaScript的数组常用方法整理

JavaScript的数组常用方法整理

作者: yunshengz | 来源:发表于2018-08-18 11:21 被阅读0次

    1.数组的拼接

    • concat();链接两个或多个数组,并返回新的数组
    • 扩展运算符(...);ES6引入的扩展运算符提供了新写法
    • push();向数组尾部添加一个或多个元素,返回的是当前数组的长度
    • unshift();向数组开头添加一个或多个元素,返回的是新数组的长度
    let arr1 = [1, 2, 3];
    let arr2 = [4, 5, 6];
    let arr3 = [7, 8, 9];
    let arr4 = ['h', 'e', 'l', 'l', 'o'];
    let arr5 = ['h', 'e', 'l', 'l', 'o'];
    
    let arr = arr1.concat(arr2, arr3); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    let myArr = [...arr1, ...arr2, ...arr3]; // [1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    arr4.push(1, 2, 3);
    console.log(arr4); // ['h', 'e', 'l', 'l', 'o', 1, 2, 3]
    
    arr4.unshift(1, 2, 3);
    console.log(arr5); // [1, 2, 3, 'h', 'e', 'l', 'l', 'o']
    /*
    * 以上两种都是都是对数组的浅拷贝,两种方法生成的新
    * 数组的成员都是对原数组成员的引用;如果改变原数组成员,就
    * 会反应到新数组。
    */
    

    2.数组转字符串

    • join();把数组的所有元素放入一个字符串。元素通过指定的分隔符(默认是逗号)进行分隔。
    • toString();返回值与没有参数的 join() 方法返回的字符串相同,即数组元素与元素之间由逗号分隔。
    let arr = [hello, nihao];
    let str1 = arr.join(); // hello,nihao
    let str2 = arr.join(''); // hellonihao
    let str3 = arr.join('-'); // hello-nihao
    let str4 = arr.toString(); // hello,nihao
    

    3.数组的截取

    • slice(s, e);返回一个包含从s到e(不包含该元素)的新数组,不改变原数组
    • splice(index, num, item1,.....,itemX);改方法可以删除从index开始的num个元素(如果num为0,则不会删除项目),同时item用来替换被删除的元素;返回的是被删除的元素的数组;同时会 改变原数组
    let arr1 = [1, 2, 3, 4, 5];
    arr1.slice(2,4); // [3,4]
    arr1.splice(1, 3); // [2, 3, 4]  arr1= [1, 5];
    

    4.数组元素的查找

    • indexOf(); 要查找的元素不在当前数组的话返回-1;
    • includes(); 返回布尔值
    • find()和findIndex;所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined

    indexOf()使用严格相等运算符,会导致NaN的误判

    [1, 2, 3].indexOf(2); // `
    [1, 2, 3, 4, NaN].indexOf(NaN); // -1
    [1, 2, 3, NaN].includes(NaN); //true
    
    [1, 5, 10, 15].find(function(v) {
      return v == 9;
    }) // undefined
    

    4.其他方法

    • filter();对数组进行过滤,返回符合条件的元素组成的新数组,原数组不会改变
    • reduce(); 对数组元素进行累加,不会对空数组执行回调
    • every(); 对数组元素进行判断,所有的数组元素都符合条件返回true,否则返回false
    • some();对数组元素进行判断,只要有一个元素符合条件就返回true, 否则返回false
    • forEach()与map(),都是用来遍历数组中的每一项,区别是map的的回调函数中可以return返回值
    [1, 2, 3].filter(v => {
      retrun v >=2;
    });  // [2, 3]
    [1, 2, 3].map(v => {
      return v*2;
    }); // [2, 4, 6]
    

    相关文章

      网友评论

          本文标题:JavaScript的数组常用方法整理

          本文链接:https://www.haomeiwen.com/subject/dkjtiftx.html