won*_*r95 3 javascript arrays object lodash
我有一个案例,我总是遇到一个问题,我需要基于同一对象中的另一个键值,仅从一个对象数组中获取一个对象键,而不是整个对象。
因此,例如,如果我具有以下对象数组:
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
},
];
Run Code Online (Sandbox Code Playgroud)
因此,如果我只想获取类型为“ beta”的那些对象的名称值,该怎么办?我更喜欢lodash,而且我知道如何使用_.map或_.filter,例如
var newArray = _.map(myArray, function(item) {
return item.type === 'beta';
});
Run Code Online (Sandbox Code Playgroud)
但是那些返回整个对象。我怀疑通过链接可以得到想要的东西,但是我没有弄清楚如何做到这一点。
谢谢。
您可以使用native来做到这一点Array.prototype.map()。看起来像这样(为简洁起见,使用ES6胖箭头功能):
myArray.filter(item => item.type === 'beta').map(item => item.name)
Run Code Online (Sandbox Code Playgroud)
ES5表格为:
myArray.filter(function(item) {return item.type === 'beta'})
.map(function(item) {return item.name})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2273 次 |
| 最近记录: |