2013-05-13 2 views
0

배열에 요소를 앞에 추가하는 기능적인 방법이 있습니까? 비슷해 :배열 요소 앞에 기능적으로 추가

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

바쁘시 결과 어레이에 대한 참조가 반환 통지. 그 이유는 동일한 배열로 더 많은 일을 할 수 있기 때문입니다.

추신 : MongoDB 명령 줄 인터페이스에 대해 묻습니다.

PPS : (A) 배열 순서를 전환하지 않는 방법을 찾고 있습니다 (B) 가능한 경우 사용자 지정 함수를 정의하지 마십시오.

+1

exa를 수행하는 기존 기능이 없습니다. ctly 이것 그러나 당신은 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]

0

찾고 계신 분은 unshift()입니다.

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

그러나 당신이 기능이이 문제

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

당신은 전체적인 질문을 읽지 않았습니다. –

+1

unshift는 배열을 반환하지 않지만 요소는 – viebel

2

를 해결해야 할 필요가있는 경우, 값으로 [1,2].unshift(3)을 사용하지 않는,주의 하시고 :

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

+0

배열을 전환 할 수 없습니다. – BreakPhreak

+0

왜 전환 할 수 없습니까? – viebel

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

나는 변화가 없다고 생각한다.

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

새 Array의 길이를 반환 한 이후로 wrapp해야합니다. 당신이 배열을 doc

관련 문제