【问题标题】:javascript pushing element at the beginning of an array [duplicate]javascript在数组开头推送元素[重复]
【发布时间】:2011-12-30 20:46:20
【问题描述】:

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

我有这个:

var TheArray = TheObjects.Array;
TheArray.push(TheNewObject);

它在末尾添加TheNewObject。我是否需要创建一个新数组,将TheNewObject 添加到其中,然后循环遍历TheArray 并将每个元素添加到数组中?

【问题讨论】:

    标签: javascript


    【解决方案1】:

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

    TheArray.unshift(TheNewObject);
    

    【讨论】:

      【解决方案2】:

      使用.unshift() 添加到数组的开头。

      TheArray.unshift(TheNewObject);
      

      doc on unshift() 见 MDN,doc on other array methods 见这里。

      仅供参考,就像数组末尾有 .push() 和 .pop() 一样,数组开头有 .shift() 和 .unshift()。

      【讨论】:

        【解决方案3】:

        对于更丑陋的unshift,请使用splice:

        TheArray.splice(0, 0, TheNewObject);
        

        【讨论】:

        • 你为什么要这样做?
        • 作为一个程序员,拥有选项总是非常重要的,有时简单的解决方案在某些情况下并不总是有效,拼接是从数组中删除项目的好方法,所以知道如何插入很有用
        • 就可读性而言,splice 对我来说更加不言自明。 unshift 听起来我正在从数组中删除一些东西(即使我不是)。 splice 听起来更像是我将两件事合并在一起
        • 性能怎么样?
        猜你喜欢
        • 2014-05-16
        • 1970-01-01
        • 1970-01-01
        • 2021-11-06
        • 2011-07-19
        • 2022-10-09
        • 2017-05-21
        • 2012-07-10
        • 1970-01-01
        相关资源
        最近更新 更多