javascript在数组中获取对象数组中某个键的所有不同值

标签 javascript arrays json

我需要从给定的对象数组中获取给定键的所有不同值。示例:

 var arr =   [
      {
        "cod": 0
        "level": "INF"
      },{
        "cod": 1
        "level": "INF"
      },{
        "cod": 2
        "level": "INC"
      },{
        "cod": 3
        "level": "IND"
      }
]

不同的值(arr,'级别')

应该返回:

['INF','INC','IND']

实现这一目标的简单方法是什么?

最佳答案

循环数组并从每个元素获取指定的属性。使用它们作为对象中的键来消除重复项,然后返回该对象的键。

var arr =   [
      {
        "cod": 0,
        "level": "INF"
      },{
        "cod": 1,
        "level": "INF"
      },{
        "cod": 2,
        "level": "INC"
      },{
        "cod": 3,
        "level": "IND"
      }
];
function different_values(array, property) {
    var values_seen = {}; // for removing duplicates
    for (var i = 0; i < array.length; i++) {
        values_seen[array[i][property]] = true;
    }
    return Object.keys(values_seen);
}
alert(JSON.stringify(different_values(arr, 'level')));

关于javascript在数组中获取对象数组中某个键的所有不同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29536018/

相关文章:

javascript - AMD Loader 禁用,在主题中启用

PHP 隐藏/显示带分页的图像

php - 重组(过滤和展平)数组的每一行

arrays - Swift 2 - 使用 NSDate()-Keys 对字典进行排序

python - 使用 Python 解析 JSON : TypeError: list indices must be integers, 不是 str

php - 使用 php 和 android 连接到 mysql 时出现 NullPointerException

javascript - 通过计算属性在组件中包含库

javascript - 当鼠标(或手指)不再拖动时,如何才能仅在更改时运行 AJAX 调用?

javascript - 链接的 npm 库未在本地更新

java - @DateTimeFormat(pattern ="yyyy-MM-dd") 使用 Spring Mvc Rest Service 给出 "error 400 request syntactically incorrect"