我有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。我知道有很多方法,但是最短的方法是什么?
答案 0 :(得分:1)
我个人可以想象的最短的一个。
private void EditChildListView_SelectedIndexChanged(object sender, EventArgs e)
{
if (editChildListView.Items.Count >= 0)
{
int selectedIndex = editChildListView.SelectedIndices[0];
editNameBox.Text = Children[selectedIndex].name;
}
}
答案 1 :(得分:1)
您可以使用函数map
首先获取所选对象的映射值,然后使用逻辑来询问{{1}中是否存在值的逻辑来映射数组options
。 }数组。最后,使用computed-property-names
构建所需的输出。
selected
const options = [ { value: 'opt1', label: 'opt1' }, { value: 'opt2', label: 'opt2' }, { value: 'opt3', label: 'opt3' }, { value: 'opt4', label: 'opt4' }],
selected = [ { value: 'opt1', key: '1' }, { value: 'opt2',key: '2' }],
mapped = selected.map(({value}) => value),
result = options.map(({value}) => ({[value]: mapped.includes(value)}));
console.log(result);
答案 2 :(得分:1)
reverse(0x0000.toShort)
0x0000.toShort
reverse(0xFFFF.toShort)
0xFFFF.toShort
reverse(0xAAAA.toShort)
0x5555.toShort
reverse(0x1234.toShort)
0x2C48.toShort