javascript在数组的开头推送元素

fre*_*hie 470 javascript

我有一个对象数组,我想在数组的开头推送一个元素.

我有这个:

var TheArray = TheObjects.Array;
TheArray.push(TheNewObject);
Run Code Online (Sandbox Code Playgroud)

它最后添加了TheNewObject.我是否需要创建一个新数组,将TheNewObject添加到它,然后循环通过TheArray并将每个元素添加到数组中?

lon*_*day 918

使用unshift,通过将参数添加到开头来修改现有数组:

TheArray.unshift(TheNewObject);
Run Code Online (Sandbox Code Playgroud)


jfr*_*d00 106

使用.unshift()添加到一个数组的开始.

TheArray.unshift(TheNewObject);
Run Code Online (Sandbox Code Playgroud)

有关其他数组方法的文档,unshift()请参阅MDN 以及此处的doc.

仅供参考,就像有.push().pop()为数组的结尾,有.shift().unshift()为数组的开始.


Way*_*ett 41

对于更丑陋的unshift使用版本splice:

TheArray.splice(0, 0, TheNewObject);
Run Code Online (Sandbox Code Playgroud)

  • 作为程序员,选择总是非常重要,有时简单的解决方案在某些情况下并不总是有效,而splice是从数组中删除项目的好方法,所以知道如何插入它是有用的 (32认同)
  • 性能怎么样? (6认同)
  • 为什么要这么做? (5认同)
  • 就可读性而言, splice 对我来说更不言自明。`unshift` 听起来像是我正在从数组中删除某些内容(尽管我没有)。“splice”听起来更像是我将两件事合并在一起 (3认同)