我想在函数中添加一个对象并删除两个对象
const old1 = [
{item: "apple", number: 13}
]
const old2 = [
{item: "apple", number: 13},
{item: "banana", number: 11},
{item: "orange", number: 13}
]
首先,我想在数组中添加一个对象
const add = {item: "pear", number: 3}
然后我要检查数组是否具有这些元素,如果是,则将其删除。在这里,我要删除“香蕉”和“橙色”
const new2 =[
{item: "pear", number: 3},
{item: "apple", number: 13}
]
我尝试过old1.unshift添加一个元素。 我还尝试了old2.splice(0,2)删除元素,但它基于索引顺序。我应该检查item属性并删除相对属性。
答案 0 :(得分:1)
您可以使用old1.push({item: "pear", number: 3});
添加元素:
Array.filter
对于基于条件的删除-您可以将要删除的值放入数组中,然后运行let itemsToRemove = ["banana", "orange"]
let filteredItems = old2.filter(o => !itemsToRemove.includes(o.item));
echo
答案 1 :(得分:0)
对于一组对象,我使用类似于此的代码来添加/更新它们。
addUpdateItem(item, arr) {
let ind = arr.map(i => i.id).indexOf(item.id) //find the position of element if exists
if(ind != -1) { //this means the item was found in the array
//normally I would want to update the item if it existed
Object.assign(arr[ind], item) //update the item
//but if you wanted to remove the item instead
arr.splice(ind, 1) //removes the item
} else {
arr.push(item)
}
}