根据键值从对象数组中提取所有值

tbo*_*den 5 html javascript arrays jquery object

如果我有一个如下所示的数组:

[{"matchedKey":"cuisineType","cuisineType":"Indian","group":"group"},
 {"matchedKey":"cuisineType","cuisineType":"Italian","group":"group"},
 {"matchedKey":"cuisineType","cuisineType":"Asian","group":"group"},
 {"matchedKey":"cuisineType","cuisineType":"Japanese","group":"group"},
 {"matchedKey":"cuisineType","cuisineType":"African","group":"group"}]
Run Code Online (Sandbox Code Playgroud)

我如何按菜系类型对此进行排序?

我曾尝试使用:

var result = array.find(obj => {
var go =  obj.cuisineType
console.log(String(obj.cuisineType))
})
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何:

  1. 将它放在一个字符串中,并用命令分隔结果(它们只是单独打印到控制台)。

  2. 使用我刚刚创建的字符串console.log(go)console.log(result)打印“未定义”。

提前感谢您的帮助!我已经尝试过关于 SO 及其他方面的其他建议,但没有取得太大的成功!

Ror*_*san 5

最简单的事情就是用它map()来构建一系列美食。然后您可以循环遍历它或根据需要从中构建一个字符串。

var arr = [{"matchedKey":"cuisineType","cuisineType":"Indian","group":"group"},
  {"matchedKey":"cuisineType","cuisineType":"Italian","group":"group"},
  {"matchedKey":"cuisineType","cuisineType":"Asian","group":"group"},
  {"matchedKey":"cuisineType","cuisineType":"Japanese","group":"group"},
  {"matchedKey":"cuisineType","cuisineType":"African","group":"group"}]

var cuisines = arr.map(function(el) {
  return el.cuisineType;
});

console.log(cuisines); // array
console.log(cuisines.join(', ')); // formatted string
Run Code Online (Sandbox Code Playgroud)