Я знаю, как удалить элемент из массива json, но я не могу заставить его работать при добавлении.
Массив:
var users = [
{name: 'james', id: '1'}
]
Хотите добавить так:
var users = [
{name: 'james', id: '1'},
{name: 'thomas', id: '2'}
]
Здесь код для удаления массива:
Array.prototype.removeValue = function(name, value){
var array = $.map(this, function(v,i){
return v[name] === value ? null : v;
});
this.length = 0; //clear original array
this.push.apply(this, array); //push all elements except the one we want to delete
}
removeValue('name', value);
//space removed
Какие изменения мне нужно сделать, чтобы обратить вспять, чтобы добавить значения в массив?
С Array.prototype.push()
?
var sports = ["plongée", "baseball"];
var total = sports.push("football", "tennis");
console.log(sports); // ["plongée", "baseball", "football", "tennis"]
console.log(total); // 4
Я думаю, что более подходящей функцией является filter
чем map
.
Array.prototype.removeValue = function(name, value){
var array = $.filter(this, function(v,i){
return v[name] !== value;
});
this.length = 0; //clear original array
this.push.apply(this, array); //push all elements except the one we want to delete
}
Я только предполагаю, что длина и толчок работают, потому что я никогда не использовал их сам.
removeValue
работает с массивом объектов, а не с произвольными массивами. Учитывая это, пожалуйста, уточните, как именно вы хотите добавить элемент «по имени / значению».