【发布时间】:2021-08-20 15:53:50
【问题描述】:
你们知道怎么做更简单/更聪明吗?
如果对象中不存在该键,我想添加一个带有名称值的标签key。这是我的清单:
myList = [
{
name: 'Candy',
label: 'xx',
},
{
name: 'Mike',
label: 'yy',
},
{
name: 'Betty',
}
]
我的解决方案:
assignLabel = list => {
const casesWithoutLabel = list.filter(({ label }) => !label).map(item => ({
...item,
label: item.name
}))
const casesWithLabel = list.filter(({ label }) => label)
return [ ...casesWithoutLabel, ...casesWithLabel ]
}
assignLabel(myList)
输出
[
{
name: 'Candy',
label: 'xx',
},
{
name: 'Mike',
label: 'yy',
},
{
name: 'Betty',
label: 'Betty'
}
]
它给了我很好的输出,但它并不优雅,我现在不知道如何改进。请帮帮我!
【问题讨论】:
标签: javascript arrays object filter