Javascript数组---push(),concat()方法的区别

在数组操作中,push()很常见,concat()却很少见,然而两者的用法很相似,可以理解为,push()是concat()的简化版,先看下面的例子:

/*push()方法*/
    var array=[1,2,3,4,5];

    console.log(array);   //[1, 2, 3, 4, 5]

    array.push(6);        //一个参数
    console.log(array);   //[1, 2, 3, 4, 5, 6]

    array.push(6,7);      //两个参数
    console.log(array);   //[1, 2, 3, 4, 5, 6, 7]

    array.push([6,7]);    //参数为数组
    console.log(array);   //[1, 2, 3, 4, 5, 6, Array(2)]

    /*concat()方法*/
    var array=[1,2,3,4,5];

    console.log(array);   //[1, 2, 3, 4, 5]

    var array2=array.concat(6);    //一个参数
    console.log(array);    //[1, 2, 3, 4, 5]
    console.log(array2);   //[1, 2, 3, 4, 5, 6]

    var array2=array.concat(6,7);    //两个参数
    console.log(array);    //[1, 2, 3, 4, 5]
    console.log(array2);   //[1, 2, 3, 4, 5, 6,7]

    var array2=array.concat([6,7]);    //参数为数组
    console.log(array);    //[1, 2, 3, 4, 5]
    console.log(array2);   //[1, 2, 3, 4, 5, 6, 7]

通过代码可以看出一下几点差别:
1,push()是在原数组的基础上修改的,执行push()方法后原数组的值也会变;concat()是先把原数组复制到一个新的数组,然后在新数组上进行操作,所以不会改变原数组的值。

2,如果参数不是数组,不管参数个数有多少个,push()和concat()都会直接把参数添加到数组后;如果参数是一个数组,push()就会直接把数组添加到原数组后,而concat()会把数组里的值取出来添加到原数组后。

————————————————
版权声明:本文为CSDN博主「小屁踢」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/steven_2669/article/details/77161663

推荐阅读更多精彩内容

  • 首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组...
    JamHsiao_aaa4阅读 1,393评论 0 2
  • 数组总共有22种方法,本文将其分为对象继承方法、数组转换方法、栈和队列方法、数组排序方法、数组拼接方法、创建子数组...
    Sachie阅读 768评论 0 7
  • 摘要: 通过代码掌握数组方法。 原文:通过实现25个数组方法来理解及高效使用数组方法(长文,建议收藏) 译者:前端...
    Fundebug阅读 1,324评论 2 36
  • Javascript有很多数组的方法,有的人有W3C的API,还可以去MDN上去找,但是我觉得API上说的不全,M...
    顽皮的雪狐七七阅读 3,648评论 0 6
  • 转载:在开发中,数组的使用场景非常多,平日中也涉及到很多数组的api/相关操作,一直也没有对这块内容进行一块整理总...
    七色烟火阅读 3,033评论 0 3
  • 不管何时何地何种心情,每每抬头望着这座小城的天空,总会觉得生活是这样的美好~ 天空一碧如洗,流云变幻,自在美好,深...
    九月未了阅读 62评论 0 1
  • 一段现实聊天记录: 男哥哥:小妹妹,你在大学不要谈恋爱 我:为什么?是不是以后走不在一起?<心里揣测:是不是遇不到...
    LoveQMT阅读 9评论 0 1
  • 得志的往往是小人,这是事实,总结一下原因和我个人的看法: 很多时候小人懂的隐忍而君子未必懂,小人求的是结果,你要的...
    狮女柔心_Nicole陶阅读 361评论 1 1