видалення діє як нереальна ситуація, вона просто видаляє елемент, але довжина масиву залишається такою ж:
Приклад з терміналу вузла:
> var arr = ["a","b","c","d"];
> delete arr[2]
true
> arr
[ 'a', 'b', , 'd', 'e' ]
Ось функція для видалення елемента масиву за індексом, використовуючи фрагмент () , він приймає arr як перший аргумент, а індекс члена, який потрібно видалити, як другий аргумент. Як бачимо, він фактично видаляє член масиву і зменшить довжину масиву на 1
function(arr,arrIndex){
return arr.slice(0,arrIndex).concat(arr.slice(arrIndex + 1));
}
Функція, яка знаходиться вище, - це взяти всіх членів до індексу, а всіх членів після індексу, і об'єднати їх разом, і повернути результат.
Ось приклад використання функції вище як модуля вузла, бачачи, що термінал буде корисним:
> var arr = ["a","b","c","d"]
> arr
[ 'a', 'b', 'c', 'd' ]
> arr.length
4
> var arrayRemoveIndex = require("./lib/array_remove_index");
> var newArray = arrayRemoveIndex(arr,arr.indexOf('c'))
> newArray
[ 'a', 'b', 'd' ] // c ya later
> newArray.length
3
зауважте, що це не буде працювати з одним масивом з dupes в ньому, тому що indexOf ("c") просто отримає перше значення, і лише зробіть зріз і видаліть перший "c", який він знайде.
.splice
циклів перегляньте це питання: Видалити з масиву в JavaScript .