1

有没有一种功能性的方法可以将元素添加到数组中。就像是:

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

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

PS:我问的是 MongoDB 命令行界面。

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

4

5 回答 5

2

这应该可以解决您的问题:

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

于 2013-05-13T14:51:01.297 回答
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]

于 2013-05-13T14:58:10.360 回答
0

您正在寻找unshift().

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

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

(function (a) { a.unshift(3); return a; })([1,2])
于 2013-05-13T14:50:59.013 回答
0
function cram(myArray):Array {
  myArray.unshift(3);
  // 3,1,2
  return myArray 
}
于 2013-05-13T14:51:57.473 回答
0

我认为 unshift 是功能

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

您将需要包装,因为返回新数组的长度。如果你需要返回一个数组

链接到文档

于 2013-05-13T14:53:08.307 回答