2016-10-05 13 views
-4

배열의 색인을 기반으로 특정 요소를 제거하려고했습니다. 예 :Array.splice (-1,1)가 Javascript에서 마지막 요소를 제거하는 이유는 무엇입니까?

var x = ["a","b","c"]; 

이것은 x.splice(-1,1)로 밝혀 때문에

x.splice(x.indexOf("d"),1) 

을하려고 - 그것은 배열의 요소 "C"를 제거 결말입니다!

왜 자바 스크립트에서 배열에 대한 순환 속성이 ​​없는데도 이런 일이 일어나지 않는지 이해할 수 없습니다. MDN page for splice에서

+7

'splice'가 어떻게 작동하는지 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice) [선택 했습니까?] – ssube

+0

@ ssube의 링크에 speficially : "부정적인 경우, 결국 많은 요소를 시작합니다." –

답변

1

:

부정적인 경우, 끝에서 많은 요소를 시작합니다.

따라서 x.splice(-1, 1)x의 끝부터 하나의 요소를 시작하고 단일 요소를 삭제합니다.