早上好,我是新来的,创造了这个新话题,因为我没有找到任何可以消除我怀疑的东西。
我有以下情况。
我有一个对象:
var ITEMS = new Object ();
此对象中的
有一组电话号码。
ITEMS.Phones = new Array ();
在该数组中添加另一个对象,如下所示......
var_number = $ ("# Number"). val ();
ITEMS.Phones.push (new Object ({phoneid: "", Number: var_number}));
在此之前一切正常,只是无法删除此数组中的对象,我正在尝试以下方法:
ITEMS.Phones.splice ($. InArray (removes ITEMS.Phones), 1);
但我没有成功。
有没有人知道解决问题的方法,或者更简单的方法来实现这个问题?
答案 0 :(得分:2)
如果它是实际代码而不是伪代码,则行:
ITEMS.Phones.splice ($. InArray (removes ITEMS.Phones), 1);
...至少有一个语法错误和另一个错误(InArray
应该是inArray
)。你走在正确的轨道上,splice
做你想做的事。
你还没有说removes
是什么,但是如果它是你要删除的对象的引用,那么就行了
ITEMS.Phones.splice ($.inArray(removes, ITEMS.Phones), 1);
...将删除它。但请注意,它必须是对相同对象的引用,因为inArray
使用===
来搜索对象。它不能是对不同但等效的对象的引用。
假设您要删除具有给定Number
属性的对象的条目。你可以这样做:
var_number = /* ...the number you want to remove...*/
$.each(ITEMS.Phones, function(index, entry) {
if (entry.Number === var_number) {
ITEMS.Phones.splice(index, 1); // Removes the entry
return false; // Terminates the $.each loop
}
});