我有索引错误的对象。我无法编辑这个,因为我应用这个工作正常。
var object = { "aaa": 1, "aaa": 2, "aaa" : 3, "aaa" : 4};
$.each(object, function(key, value){
});
如何删除 value = 2 和 4 的所有值?
我有索引错误的对象。我无法编辑这个,因为我应用这个工作正常。
var object = { "aaa": 1, "aaa": 2, "aaa" : 3, "aaa" : 4};
$.each(object, function(key, value){
});
如何删除 value = 2 和 4 的所有值?
你不能。每个值都会覆盖文字中的前一个值。
$> ({ "aaa": 1, "aaa": 2, "aaa" : 3, "aaa" : 4});
Object
aaa : 4
$>
您必须确保对象文字格式正确,然后使用类似这样的内容(ES5):
var filteredObject = Object.keys( yourObject ).reduce( function ( target, key ) {
if ( yourObject[ key ] !== 2 && yourObject[ key ] !== 4 )
target[ key ] = yourObject[ key ];
return target;
}, { } );
你不能简单地在 for 中做一个 if(value!=2 && value!=4) 吗?
您可以尝试使用delete
关键字来删除键,这将删除值
这是代码
var object = { "a": 1, "b": 2, "c" : 3, "d" : 4};
$.each(object, function(key, value){
if(value==2 || value==4){
delete object[key];
}
});
注意:我假设您示例中的相同键是错误的。
删除所有值,其中value == 4
:
for (var member in object) { if (object[member]==4) {delete object[member]} }
我想你会想要使用filter
而不是each
.