2016-10-05 3 views
-4

Я пытался удалить определенные элементы на основе их индекса в массиве. пример:Почему Array.splice (-1,1) удаляет последний элемент в Javascript?

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

и пытается сделать

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

Поскольку это оказывается x.splice(-1,1) - это в конечном итоге удаления элемента «с» из массива!

не может понять, почему это происходит, хотя для массивов в javascript нет циклического свойства.

+7

Вы проверили документацию (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice) о том, как работает «сращивание»? – ssube

+0

Говоря по ссылке @ ssube: «Если отрицательный, начнется то, что многие элементы с конца». –

ответ

1

Из MDN page for splice:

Если отрицательный, начнет что многие элементы с конца.

Так x.splice(-1, 1) начинается один элемент из конца x и удаляет один элемент.

Смежные вопросы