我有成功运行的这段代码。
function maxChar() {
const charMap = {a:1, b:3, a:1}
let max = 0
let maxChar = ''
for(let index in charMap) {
if(max < charMap[index]){
max = charMap[index]
maxChar = index
}
}
return maxChar
}
console.log(maxChar())
它正在控制台b
上返回,这是重复次数最多的字母。
但是我想用旧语法做同样的事情。
我将如何替换呢?
for(let index in charMap) {//....
和其余代码
答案 0 :(得分:1)
您可以在没有其他变量的情况下获得最大值。
要获得符合ES5的代码,请将所有变量声明更改为var
语句。
function maxChar() {
var charMap = { a: 1, b: 3, a: 1 },
maxKey,
key;
for (key in charMap) {
if (!maxKey || charMap[maxKey] < charMap[key]) {
maxKey = key;
}
}
return key;
}
console.log(maxChar());
答案 1 :(得分:1)
如果要使用docker save
来遍历对象。
首先需要使用tradition for loop
获取所有密钥,然后循环遍历这些密钥。
Object.keys(charMap)
PS:但是建议您使用
function maxChar() { const charMap = {a:1, b:3, a:1} let max = 0 let maxChar = '' const charMapKeys = Object.keys(charMap) for(let i = 0; i < charMapKeys.length; i++) { if(max < charMap[charMapKeys[i]]){ max = charMap[charMapKeys[i]] maxChar = charMapKeys[i] } } return maxChar } console.log(maxChar())
循环来遍历对象,因为它更干净并且从一开始就受到支持。