【发布时间】:2014-08-06 23:44:48
【问题描述】:
我目前在 javascript 中有一个由键索引的对象列表:
var list = [];
list['a'] = [];
list['a'].push({obj: 'test'});
list['a'].push({obj: 'test2'});
list['b'] = [];
list['b'].push({obj: 'test'});
list['b'].push({obj: 'test2'});
我会根据键 (a/b) 列出删除条目
我尝试了以下方法:
for(var x in list) { delete list[x]; }
这可行,但它实际上在列表中留下了一个未定义的条目。
我也尝试过拼接数组,但在这种情况下似乎不起作用。
关于如何删除 javascript 或 jQuery 中的条目有什么想法吗?
谢谢。
解决方法:
在阅读了一些 cmets 之后,我能够更好地理解我的列表是一致的。因此,我可以通过以下操作进行删除:
delete list.b;
我不确定我的列表是否是组织结构的最佳方式,但是对列表进行删除并将其视为对象属性就可以了。
感谢所有反馈。
【问题讨论】:
-
你确定你的
list是一个对象而不是一个数组吗? -
你是对的,它是一个对象数组。
-
那么你在问题中的数组定义被破坏了。
-
@Dani 你是要重置 a 还是 b,还是要从 a 或 b 中删除一个元素?
-
这里的信息太糟糕了,以至于混乱不堪。最新的代码根本不是一个数组,无论您最初是否将它定义为一个数组。
list['a']使它成为一个对象,因为 javascript 没有关联数组
标签: javascript jquery arrays object