对象键值类型上的Javascript es6筛选器
我的后端响应使用Map作为数据类型,当我收到javascript中的响应时,它变成了一个对象,当我从控制台检查时,类似于下面的键值组合json对象对象键值类型上的Javascript es6筛选器,javascript,arrays,json,ecmascript-6,filter,Javascript,Arrays,Json,Ecmascript 6,Filter,我的后端响应使用Map作为数据类型,当我收到javascript中的响应时,它变成了一个对象,当我从控制台检查时,类似于下面的键值组合json对象 guests: Object 1: {id: 1, name: 'Mike', age: 16} 2: {id: 2, name: 'Tom', age: 33} 3: {id: 3, name: 'Jason', age: 25} 4: {id: 4, name: 'Tiger', age: 54} 如果我使用guests.filter(g=>g
guests: Object
1: {id: 1, name: 'Mike', age: 16}
2: {id: 2, name: 'Tom', age: 33}
3: {id: 3, name: 'Jason', age: 25}
4: {id: 4, name: 'Tiger', age: 54}
如果我使用
guests.filter(g=>g.age>20)
它就不起作用了,因为这里的guests不是一个数组
,而是一个对象
(比如Map
,但在javascript中仍然是一个对象类型),那么我如何在这里过滤我的guests
对象呢?使用object.values()
,然后过滤阵列:
const guests={“1”:{“id”:1,“name”:“Mike”,“age”:16},“2”:{“id”:2,“name”:“Tom”,“age”:33},“3”:{“id”:3,“name”:“Jason”,“age”:25},“4”:{“id”:4,“name”:“Tiger”,“age”:54}
常量结果=对象值(来宾)
.filter(g=>g.age>20)
console.log(result)
使用Object.values()
将来宾
转换为数组,然后过滤数组:
const guests={“1”:{“id”:1,“name”:“Mike”,“age”:16},“2”:{“id”:2,“name”:“Tom”,“age”:33},“3”:{“id”:3,“name”:“Jason”,“age”:25},“4”:{“id”:4,“name”:“Tiger”,“age”:54}
常量结果=对象值(来宾)
.filter(g=>g.age>20)
console.log(result)
似乎您的后端应该使用数组/列表类型而不是映射,除非这些顺序数字键有效。似乎您的后端应该使用数组/列表类型而不是映射,除非这些顺序数字键有效