2016-03-05 7 views
3

У меня проблема с удалением данных из объекта JSON в javascript. Я создаю этот JSON динамически, и удаление также происходит динамически. Ниже мой JSON и ситуация, в которой я нахожусь.Удаление элемента из JSON в javascript/jquery

{brands:[51,2046,53,67,64]} 

Теперь я должен удалить 53 из этого, которую я расчета с использованием некоторых элементов свойство, но я не в состоянии удалить данные и не смогли найти решение этой ситуации. Пожалуйста, помогите мне, ребята, спасибо.

ответ

4

Попробуйте использовать Array.prototyp.splice,

var data = { brands:[51,2046,53,67,64] }; 
data.brands.splice(2,1); 

Поскольку вы хотите удалить element из array внутри простого object. И splice вернет массив удаленных элементов.

Если вы не знаете, положение элемента должны быть удалены, а затем использовать .indexOf() найти индекс динамического элемента,

var elementTobeRemoved = 53; 
var data = { brands:[51,2046,53,67,64] }; 
var target = data.brands; 
target.splice(target.indexOf(elementTobeRemoved),1); 

Вы могли бы написать то же самое, как функции, как показано ниже,

function removeItem(arr,element){ 
return arr.splice(arr.indexOf(element),1); 
} 

var data = { brands:[51,2046,53,67,64] }; 
var removed = removeItem(data.brands,53); 
+0

Я использовал это уже, но позиция элемента изменяется динамически, и мне также нужно удалить ее динамически. Это не работает в моей ситуации. Спасибо за предложение. –

+0

@AbhishekDhanrajShahdeo Вы можете использовать обновленный код для удаления элементов из массива, где вы не знаете его индекс. –

+1

Большое спасибо, он просто отлично работал. –

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