我有下一个地图:
const filter = new Map();
filter.set('a1', {
Day: 55,
Type: 1,
});
filter.set('a2', {
Day: 2,
Type: 3,
});
我想通过只提取对象来迭代它:
filter.values().map(({ Day, Type }) => {
console.log(Day)
});
或
[...filter].map(({ Time, Type }) => {
console.log(eventTime)
});
但我得到了一个错误,map((不是函数,或者在第二种情况下,它返回map项
附言:我不能用于循环。
Map迭代器还没有map
方法。您可能正在寻找forEach
filter.forEach(({ Day, Type }) => {
console.log(Day)
});
或者迭代器上的简单for … of
循环:
for (const { Day, Type } of filter.values()) {
console.log(Day)
}
const filter = new Map();
filter.set('a1', {
Day: 55,
Type: 1,
});
filter.set('a2', {
Day: 2,
Type: 3,
});
for ( {Day,Type} of filter.values()) {
console.log("Day: ",Day, "Type:",Type)
}
要获取对象数组,可以在返回MapIterator
的映射值上使用排列语法...
。然后可以使用任何数组方法,如forEach
。
const filter = new Map();
filter.set('a1', { Day: 55, Type: 1 });
filter.set('a2', { Day: 2, Type: 3 });
console.log([...filter.values()])