如何使用javascript从对象数组中获取键的唯一值?

Aru*_*ick 4 javascript arrays json object

我有这样的 json 数据

{
  "name":"John",
  "age":30,
  "cars":"BMW"
},
{
  "name":"Micheal",
  "age":30,
  "cars":"Ford"
},
{
  "name":"Andy",
  "age":29,
  "cars":"Ford"
}
Run Code Online (Sandbox Code Playgroud)

我只想在这样的数组中获得汽车的独特价值

cars = ["BMW, Ford"];
Run Code Online (Sandbox Code Playgroud)

Nin*_*olz 8

您可以采用 aSet来表示独特的值。

var array = [{ name: "John", age: 30, car: "BMW" }, { name: "Micheal", age: 30, car: "Ford" }, { name: "Andy", age: 29, car: "Ford" }],
    cars = Array.from(new Set(array.map(({ car }) => car)));

console.log(cars);
Run Code Online (Sandbox Code Playgroud)

通过使用辅助函数,您可以移交数据和想要的密钥。

const
    getUniqueValues = (data, key) => Array.from(new Set(array.map(({ [key]: value }) => value))),
    array = [{ name: "John", age: 30, car: "BMW" }, { name: "Micheal", age: 30, car: "Ford" }, { name: "Andy", age: 29, car: "Ford" }];

console.log(...getUniqueValues(array, 'name'));
console.log(...getUniqueValues(array, 'car'));
Run Code Online (Sandbox Code Playgroud)