javascript - 从对象中提取每个属性的 1 个

标签 javascript node.js ecmascript-6

我正在寻找一种使用 lodash/underscore(如果不存在则使用普通 JS)的方法,该方法只能让我获取给定的对象,如下所示。

animals: {
  {
    type: 'duck',
    name: 'quack',
  },
  {
    type: 'duck',
    name: 'quieck',
  },
  {
    type: 'dog',
    name: 'bark',
  },
},

例如,该对象包含 3 种不同的动物,但其中两种是相同类型。

最终结果是能够使用控制结构(例如 for 循环)来迭代每种类型的动物,这样我就可以处理每种类型只有一个实例的东西。

之所以使用它,是因为我正在创建一个列表。

此列表将类似于以下内容

duck
 name is quack
 name is quick
dog
 name is bark

但我想通过控制结构来做到这一点,而不是简单地输出和硬编码每个名称,因为这个列表将变得非常广泛和漫长。

最佳答案

我会使用 uniq 函数。

var uniqueAnimals = _.uniq(animals, function(item, key, type) { 
    return item.type;
});

关于javascript - 从对象中提取每个属性的 1 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35873934/

相关文章:

node.js - Nodejs Sails 命令行不起作用

javascript - 使用循环变量进行同名函数调用 - Javascript

javascript - 当没有在 React 构造函数中访问 props 时,将 props 传递给 super() 的原因是什么?

javascript - 生成日期并将新属性添加到对象数组中

javascript - 如何将 javascript + jquery 转换为 unity csharp?

javascript - 为命令行创建 JavaScript 应用程序

javascript - 从 Node.js 向 MongoDB 集合插入不同类型的值

javascript - mongodb 和谷歌地图 - 获取半径上的位置而不会不准确

php - PHP 数据库查询的自动 "wrap"结果

javascript - Express 回退路由也用于静态文件