Я работаю с массивом объектов JavaScript как таковых:
var IssuesArray = [{"ID" : "1", "Name" : "Issue1"},
{"ID" : "2", "Name" : "Issue2"},
{"ID" : "3", "Name" : "Issue3"}];
Мое конечное усилие - попытаться удалить объект из массива, когда я знаю идентификатор объекта. Я пытаюсь использовать код, который выглядит примерно так:
$.grep(IssuesArray, function(n, i) {
return i != $.inArray("2", IssuesArray);
});
Итак, это показывает, что я пытаюсь использовать jQuery grep для удаления элемента по индексу (i), который я пытаюсь получить с помощью jQuery inArray. Конечно, приведенный выше код не будет работать, потому что «2» должно соответствовать элементу в массиве, которые все являются объектами JavaScript (объект никогда не будет равен «2»). Мне нужно что-то вроде:
$.inArray(javascriptObject.Name=="2", IssuesArray);
Кто-нибудь когда-либо имел успех с использованием inArray для получения индексов объектов JavaScript, используя значение поля внутри этого объекта? Любая помощь будет оценена. Благодаря.
ОБНОВЛЕНИЕ / УТОЧНЕНИЕ: Несколько человек были смущены моим вопросом, но я получил ответ, который, тем не менее, работает. Я использую:
IssuesArray = $.grep(IssuesArray, function(n) {
return n.ID != "2";
});
Я думаю, что слишком долго думал об этом, когда решение было действительно довольно простым. Я просто хотел удалить объект JavaScript из массива, пока я знал значение определенного свойства в этом объекте. Вышеупомянутое решение использует grep jQuery для возврата всего из массива, кроме любого объекта, чей ID == "2". Как обычно, спасибо за быстрые ответы. Несколько ответов были хорошими решениями и сработали бы с использованием (например, с использованием «сращивания»), но это решение кажется самым коротким и простым. Еще раз спасибо.