使用原生JS求一段字符串出现最多的次数和最少的次数,最大值和最小值(JS常见面试题)

直接看代码(一把梭也可以):

let strings = 'aqqwwqqaaasddvvccxxxx..........'

let obj = {};

 

for (let i = 0; i < strings.length; i++) {

let num = strings[i]

if (obj[num]) {

obj[num]++

} else {

obj[num] = 1 //当已经没有了,把他重新赋值为1,再去++,如果不重新赋值将为NAN

}

}

 

let max = "";

let arr = []

for (let i in obj) { //这里把对象里面的数字push成一个数组,方便求最大值和最小值

arr.push(obj[i])

console.log(i + '出现的次数为' + obj[i])

}

let min = arr[0]//取数组的第一位,用来打擂台

for (let i = 0; i < arr.length; i++) {

if (arr[i] > max) { //求最大值,使用打擂台的思想

max = arr[i]

}

if (arr[i] < min) {//求最小值,使用打擂台的思想

min = arr[i]

}

}

console.log('最大值为', max)

console.log('最小值为', min)

console.log(arr)

你可能感兴趣的:(web前端,Javascript,Javascript面试题,原生JS)