【发布时间】:2012-03-10 20:51:49
【问题描述】:
3 小时前,我在 SO 中提出了一个关于删除对象的一部分的问题,因此我将这个问题与它联系起来:
delete a part of object in javascript
但是当我从该数组中删除时,又出现了另一个问题。 我使用该对象来填充 FlexiGrid。但是当我通过以下代码从该对象中删除一个项目时,而不是删除该项目,它设置为 undefined :( 并且 flexigrid 不接受它作为输入数据。
for (var i = 0; i < Roomdata.length; i++) {
if(Roomdata[i].id = X) {
delete Roomdata[i];
break;
}
}
例如,假设我在 Roomdata 中有 3 个项目,如下所示:
{item1, item2, item3}
当我调用此代码删除 item2 时,Roomdata 对象如下所示:
{item1, undefined, item3}
这是一种被 flexigrid 接受为输入数据的错误格式
有什么解决办法吗?
感谢大家,并对我的语法错误感到抱歉(我是英语新手)
问候,福罗伊
【问题讨论】:
-
JavaScript Array Delete Elements 的可能重复项 -- 请在提问前使用搜索。
-
对您上一个问题的接受答案已经建议使用
splice。为什么又问这个问题? -
对不起@Felix,但我想因为我已经问过一个关于这个问题的问题,所以我问这个问题是为了帮助读者阅读更容易理解的问题,无论如何抱歉
-
@FelixKling ,因为我使用那个回复,但它不起作用,但我用他的想法来解决我的问题,所以我接受它不是因为他的回答是正确的,因为他的回答给了我一个想法
-
@Rob:重复的答案显示了如何从数组中删除元素,这是问题所在。我认为我们不必详细介绍每个解决方案。另请参阅我对您的回答的评论。
标签: javascript