Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.
Закрыт 1 год назад.
Есть массив - arrJSON и есть значение ключа var useID = "Mistake_1",
нужно найти в массиве элемент по значению ключа и удалить этот элемент.
В результате, массив arrJSON будет иметь следующий вид:
[
title: "text1", id: "Mistake_0", names: "Mistake",
title: "text3", id: "Task_1", names: "Task"
]
входные данные:
var useID = "Mistake_1";
var arrJSON = [
{title: "text1", id: "Mistake_0", names: "Mistake"},
{title: "text2", id: "Mistake_1", names: "Mistake"},
{title: "text3", id: "Task_1", names: "Task"}
];
Например используя метод findIndex() ищем индекс нужного элемента и удаляем используя оператор delete()
var useID = "Mistake_1";
var arrJSON = [
{title: "text1", id: "Mistake_0", names: "Mistake"},
{title: "text2", id: "Mistake_1", names: "MistakeN"},
{title: "text3", id: "Task_1", names: "Task"}
]
document.getElementById('div_1').innerHTML = useID;
var indexDel = arrJSON.findIndex(function(item){ return item.id === useID } );
var newarr = arrJSON.filter(function(item){ return item.id !== useID } );
delete(arrJSON[indexDel]);
document.getElementById("div_2").innerHTML = JSON.stringify(arrJSON);
document.getElementById("div_2").innerHTML += ' lenght='+arrJSON.length;
document.getElementById("div_3").innerHTML = JSON.stringify(newarr);
document.getElementById("div_3").innerHTML += ' lenght='+newarr.length;
body{ background-color: #20262e; color: #cfd0d2; }
<div id="div_1">1</div>
<div id="div_2">2</div><hr/>
<div id="div_3">3</div>
Сборка персонального компьютера от Artline: умный выбор для современных пользователей