各种函数方法

2017-08-24  本文已影响0人  王翔爱摇滚乐爱电影爱心理学爱哲

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") )
上一篇 下一篇

猜你喜欢

热点阅读