javascript - 使用 Javascript 从对象中获取唯一值
问题描述
我有一个看起来像这样的对象数组
object=
[
{
id:`01`,
name:`fish`,
type:`marine`,
}
{
id:`02`,
name:`fish`,
type:`fresh`,
}
{
id:`03`,
name:`fish`,
type:`tank`,
}
{
id:`04`,
name:`animal`,
type:`pet`,
}
{
id:`05`,
name:`animal`,
type:`wild`,
}
{
id:`06`,
name:`animal`,
type:`zoo`,
}
{
id:`07`,
name:`food`,
type:`veg`,
}
{
id:`08`,
name:`food`,
type:`non-veg`,
}
]
我想以字符串格式唯一地存储它们,所以当我调用它们时,我可以轻松地获取它们
- 我试图通过使用地图功能来获得价值
let object=
[
{
id:`01`,
name:`fish`,
type:`marine`,
},
{
id:`02`,
name:`fish`,
type:`fresh`,
},
{
id:`03`,
name:`fish`,
type:`tank`,
},
{
id:`04`,
name:`animal`,
type:`pet`,
},
{
id:`05`,
name:`animal`,
type:`wild`,
},
{
id:`06`,
name:`animal`,
type:`zoo`,
},
{
id:`07`,
name:`food`,
type:`veg`,
},
{
id:`08`,
name:`food`,
type:`non-veg`,
}
]
object.map((value)=>{
console.log(value.name)
})
所以我得到的输出为
fish
fish
fish
animal
animal
animal
food
food
- 但我非常需要它们
fish
animal
food
即使我试图将它们存储在一个变量中以获取输出
let object=
[
{
id:`01`,
name:`fish`,
type:`marine`,
},
{
id:`02`,
name:`fish`,
type:`fresh`,
},
{
id:`03`,
name:`fish`,
type:`tank`,
},
{
id:`04`,
name:`animal`,
type:`pet`,
},
{
id:`05`,
name:`animal`,
type:`wild`,
},
{
id:`06`,
name:`animal`,
type:`zoo`,
},
{
id:`07`,
name:`food`,
type:`veg`,
},
{
id:`08`,
name:`food`,
type:`non-veg`,
}
]
let gotValue= [...new Set( object.map((value)=>{
return value.name;
}))];
console.log(gotValue);
所以我得到这个值
[
"fish"
"animal"
"food"
]
但我需要字符串格式的值
expected value=
fish
animal
food
解决方案
const object =
[
{
id:"01",
name:"fish",
type:"marine"
},
{
id:"02",
name:"fish",
type:"fresh"
},
{
id:"03",
name:"fish",
type:"tank"
},
{
id:"04",
name:"animal",
type:"pet"
},
{
id:"05",
name:"animal",
type:"wild"
},
{
id:"06",
name:"animal",
type:"zoo"
},
{
id:"07",
name:"food",
type:"veg"
},
{
id:"08",
name:"food",
type:"non-veg"
}
];
const distinctItems = [...new Map(object.map(item => [item["name"], item.name])).values()];
console.log(distinctItems.join(' '));
你错过的是.join(' ')
这对你有用。
const distinctItems = [...new Map(object.map(item => [item["name"], item.name])).values()];
推荐阅读
- javascript - 如何将 WanaKana 绑定到 contenteditable div?
- ios - iOS 13.6 - swift - cellForRowAtIndexPath 只显示三行
- java - 如何让 LocationManager 获得非常频繁的位置更新?
- chat - Agora 像 LinkedIn 一样在聊天中提供消息提示
- error-handling - 如果我的 Rest API 依赖于第三方服务并且服务的结果无效,我的 Rest API 的状态码应该是什么?
- saml - 在 IdP 使用 HTTP 重定向绑定发起注销请求后,用于 SAML 注销响应的 IdP 端点
- angular - 如何使用onError 源作为
- python - 在 VS 代码中运行键盘模块时出现问题
- javascript - 服务器的错误响应命中前端的成功回调
- python - python子模块找不到导入