我有 2 个对象数组
const options = [
{ value: 'opt1', label: 'opt1' },
{ value: 'opt2', label: 'opt2' },
{ value: 'opt3', label: 'opt3' },
{ value: 'opt4', label: 'opt4' }
]
const selected = [
{ value: 'opt1', key: '1' },
{ value: 'opt2', key: '2' }
]
我需要比较这两个数组并得到结果
result =
{ 'opt1', true },
{ 'opt2', true },
{ 'opt3', false },
{ 'opt4', false }
]
因为 opt1 和 opt2 存在于第二个数组中。我知道有很多方法,但最短的方法是什么?
最佳答案
我个人能想到的最短的。
const result = options.map(o => ({ [o.value]: !!selected.find(s => s.value === o.value) }));
关于javascript - 比较 2 个对象数组,如果第二个数组中存在,则返回第一个数组中的元素为真,否则返回假,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54936199/