是否可以使用特定的数组名称获取所有子条目的数组?例如,我有这个数组:
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];
简单(单行)解决方案最有帮助。提前谢谢!
答案 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);