1、求n!,用递归来实现
function fun(num) {
if (num == 1 || num == 0) {
return 1
} else if (num < 1) { return false }
return num*fun(num-1)
}
注意:n! (n的阶乘)这道题, 0! = 1.
2、写一个函数,返回参数的平方和
function sumOfSquares(){
var res = 0;
for (var i in arguments){
if (typeof arguments[i] !== 'number') {
return 'you entered a wrong number';
}
}
for (var j in arguments){
res += arguments[j]*arguments[j];
}
return res;
}
var result = sumOfSquares(2,3,4);
var result2 = sumOfSquares(1,3);
console.log(result); //29
console.log(result2); //10
3、
补全如下代码,让输出结果为字符串: hello\饥人谷
var str = //补全代码
console.log(str)
var str = "hello\\"+"\\饥人谷";
console.log( str )
4、\n是一个换行符,占一个字符
5、写一个函数,判断一个字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是
//判断一个字符串是不是回文, 那这个函数的命名一般为 isXXX
//函数的返回值一般是 true 或者 false
function isPalindrome(str) {
return str === str.split('').reverse().join('')
}
6、写一个函数,统计字符串里出现出现频率最多的字符
function getMostFreq(str) {
var dict = {}
var max = 0
var maxCh
for(var i = 0; i < str.length; i++) {
var ch = str[i]
if(dict[ch] === undefined) {
dict[ch] = 1
}else {
dict[ch]++
}
if(dict[ch] > max){
max = dict[ch]
maxCh = str[i]
}
}
return {index: max, ch: maxCh}
}
console.log(getMostFreq('helloooo worlddd'))
7、写一个camelize函数,把my-short-string形式的字符串转化成myShortString形式的字符串,如
camelize("background-color") == 'backgroundColor'
camelize("list-style-image") == 'listStyleImage'
function camelize(str) {
var arr = str.split('-')
for(var i = 1; i < arr.length; i++){
arr[i] = arr[i][0].toUpperCase() + arr[i].substr(1)
}
return arr.join('')
}
console.log( camelize("background-color") )