Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对象键值类型上的Javascript es6筛选器_Javascript_Arrays_Json_Ecmascript 6_Filter - Fatal编程技术网

对象键值类型上的Javascript es6筛选器

对象键值类型上的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

我的后端响应使用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.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)
似乎您的后端应该使用数组/列表类型而不是映射,除非这些顺序数字键有效。似乎您的后端应该使用数组/列表类型而不是映射,除非这些顺序数字键有效