前端基础算法面试题
Posted 码小余の博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端基础算法面试题相关的知识,希望对你有一定的参考价值。
第一题
// 写一个函数,输入[1,2,3],返回一个数组,返回的数组中的每项是输入数组中每项的两倍,输出[2,4,6],分别用map和forEach实现
function fn(arr) {
return arr.map((item) => {
return item * 2
})
}
fn([1, 2, 3])
第二题
// 格式转换,将{'a':'aaa' , ' b:'bbb'}转换为[{key:'a' , value: 'aaa'},{key:'b' , value: 'bbb'}]
var obj = {
'a': 'aaa',
'b': 'bbb'
}
var list = []
for (var i in obj) {
var o = {}
o.key = i
o.value = obj[i]
list.push(o)
}
console.log(list);
第三题
// find the most char and get thecount of the most char from'abcdaab'
// 从"abcdaab"中查找最多字符并获取最多字符数
var str = "abcdaab"
var o = {}
for (var i of str) {
if (o[i]) {
// 如果字符存在对象中,出现次数+1
o[i]++
} else {
// 若第一次出现,次数记为1
o[i] = 1
}
}
var max = 0
for (var i in o) {
if (max < o[i]) {
max = o[i] // max 始终存储最大的那一个
}
}
for (var i in o) {
if (o[i] == max) {
console.log("出现次数最多的字符呢,就是", i);
console.log("出现的次数呢,就是", max);
}
}
以上是关于前端基础算法面试题的主要内容,如果未能解决你的问题,请参考以下文章