【发布时间】:2013-12-05 03:01:03
【问题描述】:
在 JavaScript 中,如何从包含它的另一个对象中删除一个对象或行?
var apple = { 'color': 'red', 'price': 100, 'origin': 'Japan' };
var fruits = { Object, Object, Object }; // objects: apple, orange, mango
delete fruits[apple]; // this does not work
'delete fruits[apple]' 或this SO thread 中解释的其他形式不起作用。
是否可以通过仅提供“object1”作为参数来从“object2”中删除“object1”,如前所述?
Deleting a row from javascript object中指出的方法:
var newFruits = fruits.filter(function( apple ) {
return fruits.color != apple.color &&
fruits.price != apple.price &&
fruits.origin != apple.origin;
});
也不行。
编辑
fruits 只包含{ 'color', 'price' , 'origin' } 的行,因此是最后一种方法。我实际上需要比较可能位于 fruits 数组中的新数组中的这三个组件。
【问题讨论】:
-
fruits是一个数组吗?仅供参考,您错误地实施了另一个问题中提出的方法。如果fruits是您的数组,那么它将没有属性color。 -
变量 fruits 是数组还是对象?因为如果你想删除变量,你需要一些 id 或 name 来关联。
-
例如 fruits 是 object 但 key 是 fruits = {'apple':{values}}。好的,你只需要 put delete fruits['apple']
-
大家好。我更新了问题。 @GuilhermeSoares,不幸的是,在我的情况下,我没有一个键,而是唯一的键组合。
-
@thekalaban 请查看我的回复,希望对您有所帮助。
标签: javascript javascript-objects