根据输入更新对象数组

update array of objects based on inputs

本文关键字:对象 数组 更新 输入      更新时间:2023-09-26

我在前端有一个对象数组。这是它的内容。

0: Object
 Name: Ria
 Age: 27
 Sex: Female
1: Object
 Name: Brian
 Age: 23
 Sex: Male
2: Object
 Name: Rick
 Age: 32
 Sex: Male

我将其更新为表格。我正在尝试在此处添加 2 个函数。

如果用户单击"添加按钮",它应该创建一个具有空参数的新对象。像这样的东西。

0: Object
 Name: 
 Age: 
 Sex: 
1: Object
 Name: Ria
 Age: 27
 Sex: Female
2: Object
 Name: Brian
 Age: 23
 Sex: Male
3: Object
 Name: Rick
 Age: 32
 Sex: Male

同样,如果用户单击删除按钮,我将传递用户要删除的选定值。假设他们是

Brian,Rick

我们将知道,由于这些名称,需要删除对象 1 和 2。 所以新的对象数组应该是这样的。

 0: Object
 Name: Ria
 Age: 27
 Sex: Female

对象 1 和 2 将不存在,因为传递的参数指示它们需要从列表中删除。我希望这是动态的。根据传递的参数,应更新对象数组。

要在数组的开头插入,请使用 unshift

array.unshift({
    Name: null,
    Age: null,
    Sex: null
});

要删除,您可以使用filter

function remove(names) {
    array = array.filter(function(obj) {
        return names.indexOf(obj.Name) == -1;
    });
}
remove(['Brian', 'Rick']);

或者,如果要传递字符串,请使用:

function remove(names) {
    names = names.split(',');
    array = array.filter(function(obj) {
        return names.indexOf(obj.Name) == -1;
    });
}
remove('Brian,Rick');