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

Egi*_*idi 0 javascript arrays json

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

 var arr =   [
      {
        "cod": 0
        "level": "INF"
      },{
        "cod": 1
        "level": "INF"
      },{
        "cod": 2
        "level": "INC"
      },{
        "cod": 3
        "level": "IND"
      }
]
Run Code Online (Sandbox Code Playgroud)

different_values(arr,'level')

应该返回:

['INF','INC','IND']
Run Code Online (Sandbox Code Playgroud)

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

Bar*_*mar 5

遍历数组并从每个元素获取指定的属性.使用它们作为对象中的键来摆脱重复项,然后返回该对象的键.

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')));
Run Code Online (Sandbox Code Playgroud)