Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从内部移除对象。each()_Javascript_Jquery - Fatal编程技术网

Javascript 如何从内部移除对象。each()

Javascript 如何从内部移除对象。each(),javascript,jquery,Javascript,Jquery,可能重复: 我正在比较两个JSON对象,然后使用以下代码从列表中删除旧项: dangerousPeople = ({1:{title:"Jackie Chan", user:"Jackie"}, 2:{title:"Chuck Norris", user:"Chuck"}, 3:{title:"Britney spears", user:"Britney"}}); newDangerousPeople = ({1:{title:"Jackie Chan", user:"Jackie"}, 3:

可能重复:

我正在比较两个JSON对象,然后使用以下代码从列表中删除旧项:

dangerousPeople = ({1:{title:"Jackie Chan", user:"Jackie"}, 2:{title:"Chuck Norris", user:"Chuck"}, 3:{title:"Britney spears", user:"Britney"}});
newDangerousPeople = ({1:{title:"Jackie Chan", user:"Jackie"}, 3:{title:"Britney spears", user:"Britney"}});

$.each(dangerousPeople, function(index)
{
    if(!newDangerousPeople[index]){

         $('#dangerousPeople #id'+index).slideUp("normal", function() { $(this).remove(); } );

         delete dangerousPeople.index;
    }
});
脚本中向上滑动元素的部分可以工作,但是从对象中删除元素我无法使其工作

我尝试使用
删除危险人物。索引
但不起作用,还尝试删除
$(此)
,但也没有成功

那么,我应该如何从元素本身中删除该元素呢?

试试:

...

delete dangerousPeople[ index ];

...

对象需要字符串键。我认为最外层的对象实际上应该是数组。此外,
.index
查找名为
的键“index”
——您需要
[index]
元素访问符号。
删除危险人物[index]
@LightnessRacesinOrbit:所有键都转换为字符串。
index
不是对象,它是一个包含数字字符串的变量。在本例中,它是一个基本值。如果使用
新字符串(…)
创建字符串,则该字符串可以是对象。此外,索引所包含的值并不重要。关键是它是一个变量,如果你想使用一个变量的值作为属性,你必须使用括号符号。@费利克林:在C++中,基元也是对象,对象只是内存区域。JS中不是这样吗?@LightnessRacesinOrbit:当然,原语也保存在内存中,但它们不是对象(因为它们继承自
对象
)。简单示例:
var foo=“42”;foo.bar=“bar”;警报(食物棒)。不能将特性添加到基本体值,因为它们不是对象。其他语言(如C++)和java语言不同。@费利克斯林:好吧,只是不喜欢在Enm的“鸟巢”中查找“对象”的定义。