功能上预先添加数组元素

时间:2013-05-13 14:48:59

标签: javascript mongodb functional-programming

是否有一种将元素添加到数组的功能方法。类似的东西:

[1,2].prepend(3); // should return [3, 1, 2]

请注意,会返回对结果数组的引用。原因是能够使用相同的数组做更多的事情。

PS:我在询问MongoDB命令行界面。

PPS:我正在寻找(A)不切换数组顺序的方式(B)如果可能,不要让我定义任何自定义函数。

5 个答案:

答案 0 :(得分:2)

这可以解决您的问题:

[3].concat([1,2])

答案 1 :(得分:1)

没有现有的功能可以完成所有这些,但您可以添加它:

Object.defineProperty(Array.prototype, "prepend", {
  enumerable: false,
  configurable: false,
  writable: false,
  value: function(e) {
    this.unshift(e);
    return this;
 }
});

然后

[1,2].prepend(3)

将返回[3, 1, 2]

答案 2 :(得分:0)

您正在寻找unshift()

a = [1,2]
a.unshift(3)

但要小心,不要使用[1,2].unshift(3)作为值,如果你需要它的功能

(function (a) { a.unshift(3); return a; })([1,2])

答案 3 :(得分:0)

function cram(myArray):Array {
  myArray.unshift(3);
  // 3,1,2
  return myArray 
}

答案 4 :(得分:0)

我认为unshift是函数

a = [1,2]
[1, 2]
a.unshift(3)
a
[3, 1, 2]

您将需要换行,因为返回新数组的长度。如果需要返回数组

链接到doc