代码如下
let arr = ['2', '3', '4'];
let list = [
{ value: '1', disable: false },
{ value: '2', disable: false },
{ value: '3', disable: false },
{ value: '4', disable: false },
{ value: '5', disable: false },
{ value: '6', disable: false },
]
// 这种是list数组中含有arr数组选中的元素修改为true
list.forEach((item, i) => {
arr.forEach((element) => {
if (item.value === element) {
list[i].disable = true
}
})
})
//结果是:
[
{ value: '1', disable: false },
{ value: '2', disable: true },
{ value: '3', disable: true },
{ value: '4', disable: true },
{ value: '5', disable: false },
{ value: '6', disable: false },
]
如果把未选中的数据修改为true, 结果
[
{ value: '1', disable: true },
{ value: '2', disable: false },
{ value: '3', disable: false },
{ value: '4', disable: false },
{ value: '5', disable: true },
{ value: '6', disable: true },
]
刚才那个代码循环好像没法实现.
list.forEach((item) => {
item.disable = arr.includes(item.value); // or === false
})
p.s. 这是一点基础没有吗?。。