对象中的索引错误

Bad index in object

本文关键字:错误 索引 对象      更新时间:2023-09-26

我有索引错误的对象。我无法编辑它,因为我应用程序工作正常。

var object = { "aaa": 1, "aaa": 2, "aaa" : 3, "aaa" : 4};
$.each(object, function(key, 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