如何从JavaScript对象数组中获取键值列表

30
假设我有一个像这样的对象数组:
var students = [{
    name: 'Nick',
    achievements: 158,
    points: 14730
}, {
    name: 'Jordan',
    achievements: '175',
    points: '16375'
}, {
    name: 'Ramon',
    achievements: '55',
    points: '2025'
}];

怎么样才能循环遍历它(如果必要的话),以便我得到一组特定的键值对列表呢?比如说,所有姓名的列表。
谢谢。
2个回答

56

您可以使用 Array.map() 方法。该方法将返回一个由回调函数返回的元素组成的数组。它期望所有元素都会返回某些内容。如果没有设置,则返回 undefined

var students = [{
    name: 'Nick',
    achievements: 158,
    points: 14730
}, {
    name: 'Jordan',
    achievements: '175',
    points: '16375'
}, {
    name: 'Ramon',
    achievements: '55',
    points: '2025'
}];
var nameArray = students.map(function (el) { return el.name; });
document.getElementById('out').innerHTML = JSON.stringify(nameArray, null, 4);
<pre id="out"></pre>


7

使用 forEach

var a = [];
students.forEach(function(obj){
    a.push(obj.name);
})
console.log(a);

输出:

 ["Nick", "Jordan", "Ramon"]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接