Получить ключ массива для удаления массива на основе этого объекта массива
Новый вопрос, так что это массив
[
0: {
"id" : "3"
"name": "David",
"age": "20"
},
1: {
"id" : "6"
"name": "",
"age": "18"
},
2: {
"id" : "8"
"name": "Micheal",
"age": "25"
},
3: {
"id" : "9"
"name": "Wonder Women",
"age": "20"
},
4: {
"id" : "12"
"name": "Clark",
"age": ""
}
]
Как удалить на основе идентификатора, когда я нажимаю кнопку? В моем приложении есть кнопка удаления, чтобы удалить этот массив. Я думаю, что нужно получить ключ массива, чтобы удалить массив.
Например: я могу получить идентификатор =8, но как я могу получить ключ массива 2, чтобы удалить массив номер 2?
Если вы не понимаете, пожалуйста, прокомментируйте. Благодарю.
4 ответа
Если вы хотите напрямую манипулировать содержимым массива, а не возвращать новый массив, вы можете попробовать это
let index = array.findIndex(obj => obj.id == objIdToDelete)
if(index != -1) { array.splice(index, 1) }
проверьте Array.prototype.splice(), чтобы узнать больше
array.filter((obj) => {
if (obj.id != yourId){
return obj;
}
})
и не забывайте все запятые в ваших объектах в массиве. (после идентификатора)
Предположим, ваш массив выглядит так:
arr = [
{"id":"3","name":"Clark"},
{"id":"6","name":"David"},
{"id":"8","name":"Miche"}
];
id = 6;
arr = $.grep(arr, function(data, index) {
return data.id != id
});
Теперь наконец это вернет массив с удалением записи id=6
Предположим, что ваш массив был сохранен в obj, вы можете использовать функцию удаления lodash для удаления элемента в массиве следующим образом.
_.remove(obj, function(currentObject) {
return currentObject.id == "8";
});
Который удалит элемент '2', содержащий '8' из вашего массива