比如下面,我想删除数组中所有name等于Apple的元素。
var arr = [
{ name: "Banana", age: 18 },
{ name: "Orange", age: 18 },
{ name: "Apple", age: 18 },
{ name: "Apple", age: 18 },
{ name: "Apple", age: 18 },
{ name: "Mango", age: 18 }
];
function deleteSameName() {
// 取到你想要比对的值
// var name = this.selectedRow["name"];
var name = "Apple";
var sameNameNum = 0;
for (var item of arr) {
if (item["name"] === name) {
sameNameNum++;
}
}
console.log(sameNameNum, 'sameNameNum');
removeByValue(arr, 'name', name, sameNameNum);
}
function removeByValue(arr, attr, value, num) {
var index = 0;
for (var i in arr) {
if (arr[i][attr] == value) {
index = i;
break;
}
}
arr.splice(index, num);
console.log(arr);
}
deleteSameName()