根据输入更新对象数组

时间:2016-03-03 17:54:31

标签: javascript jquery html arrays object

我的前端有一系列物体。这是它的内容。

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不会存在,因为传递的参数表明它们需要从列表中删除。我希望这是动态的。根据传递的参数,应更新对象数组。

1 个答案:

答案 0 :(得分:0)

要在数组的开头插入,请使用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');