如何解决为什么这种设置 Javascript Map() 值的实现不起作用?
console.log(`
================================================================================
Write a function that takes a string \`s\`
that contains one or more sentences.
Return the second word to be repeated,if any.
For example,the sentence:
"I really like coding; coding is like breathing."
should return the word "like".
================================================================================
`);
const wordCount = (s) => {
const wordMap = new Map();
const stringAry = s.toLowerCase().replace(/\W/g," ").split(" ");
let amount = 1;
const filteredStringAry = stringAry.filter((s) => s);
filteredStringAry.forEach((str) => {
wordMap.has(str) ? wordMap.set(str,amount++) : wordMap.set(str,amount);
});
const duplicateWords = [];
for (let [word,count] of wordMap) {
count === 2 ? duplicateWords.push(word) : null;
}
console.log(duplicateWords[1]);
};
wordCount("I really like coding; coding is like breathing.");
这些行:
let amount = 1;
filteredStringAry.forEach((str) => {
wordMap.has(str) ? wordMap.set(str,amount);
});
如果我硬编码 2
为真实 map() 值和 1
为虚假 map() 值,它工作正常,但在这里,变量 amount
不会增加我期望的方式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。