我有这个结构:
var entities = {
1: {'name': 'Fred', 'age': 35},
2: {'name': 'Hans', 'age': 47},
3: {'name': 'Bert', 'age': 27}
}
Run Code Online (Sandbox Code Playgroud)
我需要这样的东西:
var ids = entities.filter( p => p.age > 30);
Run Code Online (Sandbox Code Playgroud)
哪个应该返回一个数组:
[1, 2]
Run Code Online (Sandbox Code Playgroud)
有没有方便的方法来做到这一点?例如Lodash等?
你可以Object.keys结合使用Array.prototype.filter
var entities = {
1: {'name': 'Fred', 'age': 35},
2: {'name': 'Hans', 'age': 47},
3: {'name': 'Bert', 'age': 27}
}
const result = Object.keys(entities).filter(key => entities[key].age > 30);
console.log(result);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |