0

インデックスが不適切なオブジェクトがあります。これは正常に機能しているため、編集できません。

var object = { "aaa": 1, "aaa": 2, "aaa" : 3, "aaa" : 4};
$.each(object, function(key, value){

});

値 = 2 および 4 のすべての値を削除するにはどうすればよいですか?

4

5 に答える 5

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;
}, { } );
于 2012-08-07T13:31:47.123 に答える
1

for に if(value!=2 && value!=4) を単純に実行できませんか?

于 2012-08-07T13:29:37.233 に答える
1

すべての値を削除するにはvalue == 4:

for (var member in object) { if (object[member]==4) {delete object[member]} }
于 2012-08-07T13:37:54.117 に答える
0

filterの代わりに使用したいと思いますeach

于 2012-08-07T13:29:19.200 に答える