js 循环对象数组,根据某个属性值操作数据(示例为删除操作)

let rId = 2;
let list = [{id: 1, name: "a"}, {id: 4, name: "d"}, {id: 3, name: "c"}, {id: 2, name: "b"}];

// 去掉 id 等于 2 的数据
for (let i = 0; i < list.length; i++) {
    if (rId == list[i].id) {
        list.splice(i, 1);
        break; // 有多个 id值 等于2时 不能break
    }
}
console.log(list);

let rId = 2;
let list = [{id: 1, name: "a"}, {id: 4, name: "d"}, {id: 3, name: "c"}, {id: 2, name: "b"}];

// 去掉 id 大于 2 的数据
for (let i = 0; i < list.length; i++) {
    if (list[i].id > rId) {
        list.splice(i, 1);
        i--; //因为数组本身变了,长度变了,数组元素向前移了一步,所以循环也要往前移一步
    }
}
console.log(list);
// 或者
for (let i = list.length - 1; i >= 0; i--) {
    if (list[i].id > rId) {
        list.splice(i, 1);
    }
}
console.log(list);

猜你喜欢

转载自blog.csdn.net/qq_40015157/article/details/113868596