亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在將 forEach 和 Reduce 映射到映射對象時遇到問題

在將 forEach 和 Reduce 映射到映射對象時遇到問題

千萬里不及你 2022-08-27 15:11:55
當與對象值一起使用時,此方法適用于對象。但是,如何使其在地圖對象上工作呢?const one = new Map ();one.set ('part1', {section1: 1, section2: 'one'});one.set ('part2', {section1: 8, section2: 'eight'});one.set ('part3', {section1: 5, section2: 'five'});one.forEach(x => console.log(x.section1));let temp1 = one.forEach(x => x.section1);console.log(temp1);let temp2 = one.forEach(x => x.section1).reduce((sum, cur) => sum + cur);console.log(temp2);
查看完整描述

2 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

該函數返回未定義,因此您無法調用該函數 reduce。forEach


此外,你不需要調用函數,用一個reduce就好了。Array.prototype.map


const one = new Map ();

one.set ('part1', {section1: 1, section2: 'one'});

one.set ('part2', {section1: 8, section2: 'eight'});

one.set ('part3', {section1: 5, section2: 'five'});


let temp2 = Array.from(one.values()).reduce((sum, {section1: cur}) => sum + cur, 0);

console.log(temp2);


查看完整回答
反對 回復 2022-08-27
?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

forEach 返回 ,您需要使用 來獲取數組中的 值來調用它。undefinedArray.mapsection1reduce


但問題是你沒有財產。幸運的是,我們.Map.mapvalues


values() 方法返回一個新的 Iterator 對象,該對象包含 Map 對象中按插入順序排列的每個元素的值。


因此,我使用over迭代器在中獲取一個可以運行的數組。...[].map


const one = new Map ();

one.set ('part1', {section1: 1, section2: 'one'});

one.set ('part2', {section1: 8, section2: 'eight'});

one.set ('part3', {section1: 5, section2: 'five'});


let temp = [...one.values()].map(x => x.section1).reduce((sum, cur) => sum + cur);

console.log(temp);


或者,您甚至不需要函數 當您將值轉換為數組時,可以直接調用mapMapreduce


const one = new Map ();

one.set ('part1', {section1: 1, section2: 'one'});

one.set ('part2', {section1: 8, section2: 'eight'});

one.set ('part3', {section1: 5, section2: 'five'});


let tempAlt = [...one.values()].reduce((sum, {section1: cur}) => sum + cur, 0);

console.log(tempAlt);


查看完整回答
反對 回復 2022-08-27
  • 2 回答
  • 0 關注
  • 108 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號