Javascript 从Map.values()中选择一个属性
我想要这样的东西:Javascript 从Map.values()中选择一个属性,javascript,typescript,dictionary,Javascript,Typescript,Dictionary,我想要这样的东西: 让myMap=newmap(); myMap.set(“aaa”,{a:1,b:2,c:3}); myMap.set(“bbb”,{a:1,b:2,c:6}); myMap.set(“ccc”,{a:1,b:2,c:9}); 让cs=myMap.values().map(x=>x.c); 从映射的所有条目中选择c属性。这是失败的: 类型“IterableTerator”上不存在属性“map”。 任何优雅的解决方案?您可以使用Array.from()将任何iterable转
让myMap=newmap();
myMap.set(“aaa”,{a:1,b:2,c:3});
myMap.set(“bbb”,{a:1,b:2,c:6});
myMap.set(“ccc”,{a:1,b:2,c:9});
让cs=myMap.values().map(x=>x.c);
从映射的所有条目中选择c属性。这是失败的:
类型“IterableTerator”上不存在属性“map”。
任何优雅的解决方案?您可以使用
Array.from()
将任何iterable转换为数组:
让myMap=newmap();
myMap.set(“aaa”,{a:1,b:2,c:3});
myMap.set(“bbb”,{a:1,b:2,c:6});
myMap.set(“ccc”,{a:1,b:2,c:9});
//基本示例
让cs=Array.from(myMap.values()).map(x=>x.c);
控制台日志(cs);
//Array.from还将映射函数作为第二个参数,因此更短:
让cs_alt=Array.from(myMap.values(),x=>x.c);
console.log(cs_alt)
您可以使用Array.from()
将任何iterable转换为数组:
让myMap=newmap();
myMap.set(“aaa”,{a:1,b:2,c:3});
myMap.set(“bbb”,{a:1,b:2,c:6});
myMap.set(“ccc”,{a:1,b:2,c:9});
//基本示例
让cs=Array.from(myMap.values()).map(x=>x.c);
控制台日志(cs);
//Array.from还将映射函数作为第二个参数,因此更短:
让cs_alt=Array.from(myMap.values(),x=>x.c);
console.log(cs_alt)代码>太好了!非常感谢。伟大的非常感谢。