我目前有一个带有重复值的嵌套geojson数组。如何根据对象ID筛选出这些值?
let geojson = [
{properties: {OBJECTID: 6249646, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}},
{properties: {OBJECTID: 6249646, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}},
{properties: {OBJECTID: 6249647, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}},
{properties: {OBJECTID: 6249647, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}},
{properties: {OBJECTID: 6249648, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}},
{properties: {OBJECTID: 6249649, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}}
]
我想返回的是一个具有唯一值的json数组,如下所示:
[
{properties: {OBJECTID: 6249646, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}},
{properties: {OBJECTID: 6249647, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}},
{properties: {OBJECTID: 6249648, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}},
{properties: {OBJECTID: 6249649, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}}
]
答案 0 :(得分:0)
您可以在reduce
旁边使用简单的Object.values()
:
let geojson = [
{properties: {OBJECTID: 6249646, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}},
{properties: {OBJECTID: 6249646, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}},
{properties: {OBJECTID: 6249647, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}},
{properties: {OBJECTID: 6249647, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}},
{properties: {OBJECTID: 6249648, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}},
{properties: {OBJECTID: 6249649, FeatureCode: 10185, Version: 3, VersionDate: "1/25/2018"}}
]
const out = Object.values(geojson.reduce((a, v) => (a[v.properties.OBJECTID] = v, a), {}))
console.log(out)