Javascript:如何从对象数组中获取分配给同一属性的唯一值列表?
我试图创建一个唯一的列表,列出分配给城市属性的所有值,这些值被隐藏在一个对象中的一个对象中,我有一个这样的对象数组Javascript:如何从对象数组中获取分配给同一属性的唯一值列表?,javascript,arrays,unique,javascript-objects,Javascript,Arrays,Unique,Javascript Objects,我试图创建一个唯一的列表,列出分配给城市属性的所有值,这些值被隐藏在一个对象中的一个对象中,我有一个这样的对象数组 建筑物=[ { 名称:‘维多利亚钟楼’, 过滤器选项:{ 城市:“奥托瓦”, 国家:'加拿大', buildingType:“议会大厦”, }, }, { 名称:“大教堂”, 过滤器选项:{ 城市:“华盛顿特区”, 声明:'', buildingType:“Cathedral”, }, }, { 名称:"邮政局",, 过滤器选项:{ 城市:“华盛顿特区”, 声明:'', build
建筑物=[
{
名称:‘维多利亚钟楼’,
过滤器选项:{
城市:“奥托瓦”,
国家:'加拿大',
buildingType:“议会大厦”,
},
},
{
名称:“大教堂”,
过滤器选项:{
城市:“华盛顿特区”,
声明:'',
buildingType:“Cathedral”,
},
},
{
名称:"邮政局",,
过滤器选项:{
城市:“华盛顿特区”,
声明:'',
buildingType:“邮局”,
},
}]
获得独特的城市地产阵列的实用方法是什么:
cities=['Ottowa','Washington D.C.]
你可以试试我的简单代码:
let arr = buildings.map(b => {
return b.filterOptions.city
})
console.log([...new Set(arr)]);
但这不会删除DUP,对吗?我需要一个下拉列表的uniqe值,你尝试过吗?这是一个演示:@Mugunga这是因为使用了
Set
来过滤重复的内容,是的,这很有效,谢谢。为什么它需要新集合周围的[…],而不仅仅是:log(newset(arr));