I have a 필요한 요소를 추가하거나 prepend 맨 앞에 어레이에서는.
예를 들어, 만약 내 어레이입니다 looks like 다음과 같습니다.
[23, 45, 12, 67]
Ajax 는 '34' call from my 및 응답, I want to be 업데이트된 어레이입니다 다음과 같습니다.
[34, 23, 45, 12, 67]
현재 나는 이렇게 할 계획이다.
var newArray = [];
newArray.push(response);
for (var i = 0; i < theArray.length; i++) {
newArray.push(theArray[i]);
}
theArray = newArray;
delete newArray;
이렇게 할 수 있는 더 나은 방법이 있습니까? Javascript 가 이 작업을 수행하는 내장 기능 있습니까?
복잡성입니다 O (n) '와' 내 방법은 아주 흥미로운 구현을 위해 개선될 수 있을 것입니다.
'Unshift' 사용합니다. '푸시' # 39 의 it& 등 이 모든 요소를 시작하는 어레이입니다 자도으로 대신 및끝.
'-' / '-' unshift 누름식 요소를 추가하여 시작 / 끝으로 어레이에서는
간단한 구성도를.
<! - 언어: > 랑 없음 -;
unshift -> array <- push
shift <- array -> pop
및 차트입니다:
<! - 언어: > 랑 없음 -;
add remove start end
push X X
pop X X
unshift X X
shift X X
체크아웃합니다 매든 어레이입니다 문서용으로. 거의 모든 요소를 가지고 있는 언어 능력 또한 어레이에서는 푸시할 수 있습니다 / pop (때때로 '' / 'push_front pop_front') / shift+ctrl unshift 요소를 구현하는 데 이러한 구하겠죠 귀의하지않는다고 합니다
지적한 대로, 않으려면 기존 어레이입니다 억제하는 정보를 사용할 수 있습니다. [4], ['concat'] 두 개 이상의 어레이에는 연결 있는 것입니다. 이를 사용할 수 있는 하나의 요소로 드래그합니다 기능적으로 누름식 뒤로를 전면 또는 기존 스토리지였습니다. 사용자정의하려면 선반가공 새로운 요소를 하나의 요소점 어레이입니다 합니다.
"'javascript const 어레이입니다 = [3, 2, 1]
const 뉴퍼스텔레먼트 = 4
const 뉴어리 = [뉴퍼스텔레먼트] 이콩카트 (array) / / [4, 3, 2, 1] "'
'concat' 덮어쓰기/추가 항목에서와 수도 있습니다. '이 인수를 concat' 모든 유형의 수 있습니다. 이들은 랩된 인할지 암시적으로 단일요소의 어레이이며 슬래시나 아직 어레이에서는:
"'javascript const 어레이입니다 = [3, 2, 1]
const 뉴러스텔레먼트 = 0
이 두 가지를 // 흐름선 동일합니다. const newArray1 = 라이스컨스트 (뉴러스텔레먼트) / / [3, 2, 1, 0] const newArray2 = 라이스컨스트 ([뉴러스텔레먼트]) / / [3, 2, 1, 0] "'
[4] :https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
var arr = [23, 45, 12, 67];
arr = [34, ...arr]; // RESULT : [34,23, 45, 12, 67]
console.log(arr)
끝 - < 스니핏 >;!
그렇게 할 수 있는 다른 방법을 통해 'concat'
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
var arr = [1, 2, 3, 4, 5, 6, 7];
console.log([0].concat(arr));
끝 - < 스니핏 >;!
차이점은 '' 에로남이네 '' 새 '와' unshift concat concat 되돌려줍니다 어레이입니다. 그들 사이에 성능을 찾을 수 있다 [here] (http://jsperf.com/unshift-item-inside-an-array/12).
function fn_unshift() {
arr.unshift(0);
return arr;
}
function fn_concat_init() {
return [0].concat(arr)
}
다음은 테스트 결과
이 용어는 shift+ctrl / unshift 및 누름식 / pop 를 조금 헷갈리게 하는 사람들은 적어도 익숙하지 않을 수 있는 c 프로그래밍
익숙하지 않은 경우, 그 다음은 요약 뷰대체 약관보다 더 쉽게 할 수 있을 수 있는 뜻 모를 말 번역 너희에게베풀어진:
* array_unshift() - (aka Prepend ;; InsertBefore ;; InsertAtBegin )
* array_shift() - (aka UnPrepend ;; RemoveBefore ;; RemoveFromBegin )
* array_push() - (aka Append ;; InsertAfter ;; InsertAtEnd )
* array_pop() - (aka UnAppend ;; RemoveAfter ;; RemoveFromEnd )
실제로 '/' 모든 ',' / '팝' 변형 '와' shift+ctrl unshift 누름식 the origin 어레이입니다.
Unshift '/' 이 '에서' 와 '항목을 추가하는 누름식 있을경우에 어레이입니다 시작 / 종료 / /' 팝 'shift' 항목을 제거하시겠습니까 처음부터 끝을 어레이입니다.
그러나 항목을 추가할 방법이 없는 어레이에서는 돌연변이. 그 결과 사용할 수 있는 새로운 어레이이며 마지막에 추가 어레이입니다 아래 코드:
const originArray = ['one', 'two', 'three'];
const newItem = 4;
const newArray = originArray.concat(newItem);
아래 코드를 사용하여 추가할 정품 어레이입니다 시작합니다.
const originArray = ['one', 'two', 'three'];
const newItem = 0;
const newArray = (originArray.reverse().concat(newItem)).reverse();
위의 방법으로 추가합니까 함께 시작 / 끝 없이 어레이에서는 돌연변이.
var array = [23, 45, 12, 67];
array.unshift(11);
alert(array);
계속 할 경우 삽입하려면 요소점 시작할 때, 그 뒤를 이어 '빠르다' 누름식 어레이에서는 사용할 수 있는 ',' 대신 '역동기화 제표를 호출하십시오 호출하십시오 unshift' all the time.
우리는 '에서 요소를 사용하여 스플라이스를 삽입하려면 어레이에서는 베그닝:
"'js 아르나미.스플리스 (0, 0, & # 39 newName1& # 39;; ); "'