【发布时间】:2019-05-13 17:54:34
【问题描述】:
假设我有一个这样的对象
var $obj = {
0 : {
'id' : 3,
'label' : 'Item One'
},
1 : {
'id' : 7,
'label' : 'Item Two'
}
}
还有这样的功能:
function findById(obj, id){
var result = false;
$.each(obj, function(index, element){
if(element.id === id)
{
result = element;
return false;//stops $.each iteration
}
})
return result;
}
现在,假设我想以编程方式删除 id 为“7”的项目,就像通过点击触发一样,无论如何我都会像这样触发我的函数:
delete findById($obj, 7);
在此“删除”之后,键为 1 且 id=7 的属性仍然存在。 我知道我错过了一些东西,但我无法摆脱这个 xD。 我应该如何从原始对象中删除该属性?我确定是关于范围的东西,或者无论如何在 javascript 中非常基本,我仍然无法理解。但是我继续遇到这样的问题,找不到这个问题的完整答案。
提前感谢任何可以帮助我的人;)
【问题讨论】:
-
您正在删除结果,由函数调用返回,但对象的字段。
标签: javascript jquery object