美文网首页
js中的数组Array的相关操作

js中的数组Array的相关操作

作者: 峰回路转_best | 来源:发表于2020-06-11 15:34 被阅读0次

    1. 数组之前的拼接

    1.1 可以使用最笨的方法,遍历其中一个数组,然后通过每一项都调用push方法添加到另一个数组的后面,即可实现效果,由于比较简单,此处就不在做代码演示。
    1.2 使用apply劫持数组的push方法
    var arr = ['tom', 'jerry'];
    var arr2 = [1, 2];
    
    arr.push.apply(arr, arr2);
    // ["tom", "jerry", 1, 2]
    

    这种合并的方法,分别会改变两个集合的数据,最后的结果是两个集合长度和子元素都一样,如果在1万级数据一下,可能看不多差距,但是它会同时改变两个集合,性能自然是要差一点,慎用。

    1.3 使用concat(),注意concat()方法生成了一个新的数组,并不改变原数组
    var arr = ['tom', 'jerry'];
    var arr2 = [1, 2];
    
    var newArr = arr.concat(arr2);
    console.log(newArr);
    // ["tom", "jerry", 1, 2]
    

    根据测试,此方法操作千万级别的数组合并大约30毫秒,所以性能要比1.2更好。

    1.4 使用ES6的...展开运算符
    var arr = ['tom', 'jerry'];
    var arr2 = [1, 2];
    
    arr.push(...arr2);
    console.log(arr)
    // ["tom", "jerry", 1, 2]
    

    2. 把数组转换成字符串

    2.1 toString()
    2.2 toLocaleString()
    2.3 join()

    3. 数组元素的操作

    3.1 删除并返回数组的最后一个元素

    pop()

    3.2 删除并返回数组的第一个元素

    shift()

    3.3 向数组最后添加一个元素,并返回数组的长度

    push()

    3.4 向数组的最前面添加一个元素,并返回数组长度

    unshift()

    3.5 删除指定元素

    splice(index,howmany,item1,.....,itemX)
    说明:index:开始删除的下标(如果是负数则从数组末尾开始)
    howmany:删除的数量(如果是0的话,则不删除)
    item1...:后面的参数是在删除的位置开始添加的元素

    4. 截取数组中指定的元素

    slice(start,end)
    说明:start:开始位置,如果是负值的话,是从数组的末尾开始的
    end:截取结束的位置,不包括此位置上的元素

    5. 数组中元素的排序问题

    sort(sortby)
    说明:sortby:是排序的规则函数,可选,如果没有填写的话,默认是按照字符编码的顺序进行,尤其注意数字

    let arr = ['10','5', '40', '25', '1000', '1'];
    console.log(arr.sort());
    // 1,10,1000,25,40,5
    

    要想真正的对数字进行排序的话,还是需要设置比对函数

    let arr = ['10','5', '40', '25', '1000', '1'];
    console.log(arr.sort( (a, b) =>{ return a - b }  );
    // 1,5,10,25,40,1000
    

    6. 数组元素的翻转

    reverse()

    let arr = [ 'George', 'John', 'Thomas' ];
    arr.reverse();
    // Thomas,John,George
    

    相关文章

      网友评论

          本文标题:js中的数组Array的相关操作

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