我有一个对象数组。对象包含有关城市及其几何信息的信息。这是我的数组
> [ {country: "AM", name: "Abovyan", lat: 40.27368, lng: 44.63348},
> {country: "AM", name: "Abovyan", lat: 40.04851, lng: 44.54742},
> {country: "AM", name: "Kapan", lat: 39.20755, lng: 46.4057} ]
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我有 2 个具有相同名称的对象(例如 Abovyan),但它们的几何信息不同。我从一些 API 获得这个数组,我想过滤它。我如何过滤它以使其只有一个具有特定键/值的对象(在本例中为名称)?
我想得到一个像这样的过滤数组`
[ {country: "AM", name: "Abovyan", lat: 40.27368, lng: 44.63348},
{country: "AM", name: "Kapan", lat: 39.20755, lng: 46.4057} ]
Run Code Online (Sandbox Code Playgroud)
在这里,我们使用非重复项构建一个对象.name在这里,我们使用属性作为对象键当我们\xe2\x80\x99完成后,我们从该对象中获取值数组。
var data = [ your data ];\n\nvar out = Object.values(\n data.reduce( (c, e) => {\n if (!c[e.name]) c[e.name] = e;\n return c;\n }, {})\n);\nRun Code Online (Sandbox Code Playgroud)\n