如何获取数组的所有子条目的数组?

时间:2018-02-06 15:20:50

标签: javascript arrays json

是否可以使用特定的数组名称获取所有子条目的数组?例如,我有这个数组:

var array = [
  {
     "char": "a",
     "number": 5
  },
  {
     "char": "x",
     "number": 9
  },
  {
     "char": "u",
     "number": 2
  },
  {
     "char": "q",
     "number": 4
  }
];

如何才能获得所有 number (或所有 char )条目的数组?

*returned array* = ["a", "x", "u", "q"];*returned array* = [5, 9, 2, 4];

简单(单行)解决方案最有帮助。提前谢谢!

3 个答案:

答案 0 :(得分:2)

Array.prototype.map会做到这一点......

var array = [
  {
     "char": "a",
     "number": 5
  },
  {
     "char": "x",
     "number": 9
  },
  {
     "char": "u",
     "number": 2
  },
  {
     "char": "q",
     "number": 4
  }
];

var numbers = array.map(function(el) { return el.number; });
var chars = array.map(function(el) { return el.char; });

console.log(numbers);
console.log(chars);

答案 1 :(得分:2)

这将根据您指定的内容获取值。



var array = [
  {
     "char": "a",
     "number": 5
  },
  {
     "char": "x",
     "number": 9
  },
  {
     "char": "u",
     "number": 2
  },
  {
     "char": "q",
     "number": 4
  }
];
var result = array.map(x => x.char);
console.log(result)




答案 2 :(得分:2)

您可以为所需的键获取变量并映射值。

var array = [{ char: "a", number: 5 }, { char: "x", number: 9 }, { char: "u", number: 2 }, { char: "q", number: 4 }],
    key = 'char',
    result = array.map(o => o[key]);
    
console.log(result);