我有一系列对象...(实际上我不确定我有什么,但是看起来像这样)
list =
{
"ZIG": [
"CSK",
"DKR",
"CSK",
"YNA",
"CSK"
],
"ZKG": [
"YNA"
],
"ZND": [
"NIM",
"DKR",
"AJY"
],
"ZNE": [
"PHE",
"PER"
]
}
我正在寻找一种方法来结束
list =
{
"ZIG": [
"DKR",
"YNA",
"CSK"
],
"ZKG": [
"YNA"
],
"ZND": [
"NIM",
"DKR",
"AJY"
],
"ZNE": [
"PHE",
"PER"
]
}
我可以使用uniq
删除大部分重复项,但是仍然有一些重复项
答案 0 :(得分:1)
使用 ES6 ,您可以执行以下操作:
const list = { "ZIG": [ "CSK", "DKR", "CSK", "YNA", "CSK" ], "ZKG": [ "YNA" ], "ZND": [ "NIM", "DKR", "AJY" ], "ZNE": [ "PHE", "PER" ] }
const r = Object.entries(list).map(([k,v]) => ({[k]: Array.from(new Set(v))}))
console.log(...r)
在每个对象中(通过Object.entries)获得对象的条目map,然后使用新的Set组合新的值。最后,仅spread个结果数组即可获得所需的对象结果。