1、原數(shù)組
let list = [
{type:"aaaaaa", name:'張三'},
{type:"bbbbbb", name:'李四'},
{type:"cccccc", name:'王五'}
];
2、錯(cuò)誤方法(網(wǎng)上大部分都是這種錯(cuò)誤的代碼)
function removeByValue(arr, attr, value) {
let index = 0;
for (let i in arr) {
if (arr[i][attr] === value) {
index = i;
break;
}
}
arr.splice(index, 1);
}
removeByValue(list,"type","aaaaaa");
console.log(list);
上面網(wǎng)上大部分的代碼,但是這個(gè)是有問題的,有很大的問題,我們的需求是,在已有的數(shù)組中,根據(jù)指定對(duì)象的屬性值,刪除這個(gè)指定對(duì)象,問題來了,每一次操作,都刪除了一個(gè)下標(biāo)的對(duì)象,不管它是否存在,都會(huì)把一個(gè)下標(biāo)的對(duì)象刪除。
3、正確的寫法:
function removeByValue(arr, attr, value) {
let index = 0;
let flag = false;
for (let i in arr) {
if (arr[i][attr] === value) {
index = i;
flag = true
break;
} else {
flag = false
}
}
if (flag) {
arr.splice(index, 1);
}
}
文章來源地址http://www.zghlxwxcb.cn/news/detail-551644.html
文章來源:http://www.zghlxwxcb.cn/news/detail-551644.html
到了這里,關(guān)于js根據(jù)數(shù)組對(duì)象屬性刪除里面的指定對(duì)象的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!