1

たとえば、ID で配列からオブジェクトを削除するにはどうすればよいですか。

users = [{id: "10051", name: "Mike Coder"},{id: "4567", name: "Jhon Second"}]

javascript を使用して ID「10051」のユーザーを削除したいとします。インターネットを検索してみましたが、何も見つかりませんでしたか?

さらに、アンダースコアを使用したくありません!

4

4 に答える 4

4

さらに、アンダースコアを使用したくありません!

このためのネイティブ メソッドは次の.filter()とおりです。

var removeId = "4567";
users = users.filter(function (user) { return user.id !== removeId; });

エンジンがES5 互換(またはpolyfill ) である必要があることに注意してください。

于 2013-04-22T00:40:20.500 に答える
2

.filter配列のメソッドを使用できます。

users = users.filter(function(el) {return el.id !== '10051'});
于 2013-04-22T00:40:26.667 に答える
2
for (var i = 0; i < users.length; ++i)
{
    if ( users[i].id == "10051" )
    {
        users[i].splice(i--, 1);
    }
}
于 2013-04-22T00:36:55.057 に答える
1
var users= [{id:"10051", name:"Mike Coder"},{id:"4567", name:"Jhon Second"}];

/* users.length= 2 */

function removebyProperty(prop, val, multiple){
    for(var i= 0, L= this.length;i<L;i++){
        if(i in this && this[i][prop]=== val){
            this.splice(i, 1);
            if(!multiple) i= L;
        }
    }
    return this.length;
}

removebyProperty.call(users,'id',"10051");

戻り値: (数値) 1

于 2013-04-22T00:49:04.543 に答える