[英]Check if object key exists in array of object and add if not exists
你们知道如何更简单/更聪明地做到这一点吗?
如果密钥在 object 中不存在,我想添加一个具有名称值的 label 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)
Output
[
{
name: 'Candy',
label: 'xx',
},
{
name: 'Mike',
label: 'yy',
},
{
name: 'Betty',
label: 'Betty'
}
]
它给了我很好的 output,但它并不优雅,我现在不知道如何改进。 请帮我!
我已经为您创建了简单的脚本,请看一下!
let myList = [ { name: 'Candy', label: 'xx', }, { name: 'Mike', label: 'yy', }, { name: 'Betty', } ]; let list = myList.map((item) => { let {name, label} = item; if(label == undefined){ item["label"] = name; } return item; }); console.log(list);
您的代码似乎只分配一个属性非常先进,所以也许我遗漏了一些东西,但您可以简单地遍历列表(或过滤 oc)
myList = [{name: 'Candy',label: 'xx',},{name: 'Mike',label: 'yy',},{name: 'Betty',}]; for(const obj of myList) if(.obj.label)obj.label = obj;name. console;log(myList);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.