我经常遇到这样一种情况,我只需要根据同一对象中的另一个键值获取一个对象键,而不是整个对象,所有这些都来自一个对象数组。
例如,如果我有以下对象数组:
myArray = [
{
name: Person 1
type: alpha
},
{
name: Person 2
type: beta
},
{
name: Person 3
type: gamma
},
{
name: Person 4
type: beta
},
{
name: Person 5
type: gamma
},
];
因此,如果我只想获取那些类型为“beta”的对象的名称值,我该怎么做?我更喜欢 lodash,我知道如何使用 _.map 或 _.filter,例如
var newArray = _.map(myArray, function(item) {
return item.type === 'beta';
});
但是那些返回整个对象。我怀疑我可以通过链接获得我想要的东西,但我不知道如何做到这一点。
谢谢。
最佳答案
您可以使用 native Array.prototype.map()
执行此操作.它看起来像这样(为简洁起见,使用 ES6 粗箭头函数):
myArray.filter(item => item.type === 'beta').map(item => item.name)
ES5 形式是:
myArray.filter(function(item) {return item.type === 'beta'})
.map(function(item) {return item.name})
关于javascript - 根据对象中另一个键的值获取键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42756724/