常见的场景类问题
循环打印红黄绿
红灯 3s 亮一次,绿灯 1s 亮一次,黄灯 2s 亮一次;如何让三个灯不断交替重复亮灯?
实现每隔一秒打印 1,2,3,4
寻找文章出出现频率最高的单词
js
function findMostWord(article) {
// 合法性判断
if (!article) return
// 参数处理
article = article.trim().toLowerCase()
const wordList = article.match(/[a-z]+/g)
const visited = []
let maxNum = 0
let maxWord = ''
article = ` ${wordList.join(' ')} `
console.log(article)
// 遍历判断单词出现次数
wordList.forEach((item) => {
if (visited.indexOf(item) < 0) {
// 加入 visited
visited.push(item)
const word = new RegExp(` ${item} `, 'g')
const num = article.match(word).length
if (num > maxNum) {
maxNum = num
maxWord = item
}
}
})
return `${maxWord} ${maxNum}`
}
Blog of Desain