我在jquery中有一个数组,并希望根据ID或Value字段从中删除项目。
var AccountName = [
{id: 0,value: "LUCKY'S WINDSCREENS"},
{id: 1,value: "PALM MOTORS"},
{id: 2,value: "REFLEX PANELBEATERS & SPRAYPAI"},
{id: 3,value: "SADAF INVESTMENT T/A YUSUF MOH"}
];
如何删除此数组中的id和值?
var id = $('#txtAccountID').val();
for (var i = 0; i < AccountName.length; i++)
{
if (AccountName[i] != "id") {
AccountName.splice(i, 1);
//break;
}
}
答案 0 :(得分:0)
我想你想要从数组中移除对象,如果它的id或值与$('#txtAccountID').val()
的值相匹配,
var id = $('#txtAccountID').val();
for (var i = 0; i < AccountName.length; i++){
for(var key in AccountName[i]){
if(key ==id || AccountName[i][key]== id){
AccountName.splice(i,1);
}
}
}
请参阅js fiddle here
如果你想只保留匹配的元素,那么
var id = 0;
var temp = null;
for (var i = 0; i < AccountName.length; i++){
for(var key in AccountName[i]){
if( key ==id || AccountName[i][key] == id ){
temp = AccountName[i];
}
}
}
AccountName = temp;
查找演示here
答案 1 :(得分:0)
使用 Array.prototype.filter() (旧浏览器需要Polyfill。)
AccountName = AccountName.filter(function(e) {
return e.id !== 0;
});