美文网首页
字符串与JSON

字符串与JSON

作者: 任少鹏 | 来源:发表于2017-04-06 15:29 被阅读22次

    1.使用数组拼接出如下字符串

    var prod = {
        name: '女装',
        styles: ['短款', '冬季', '春装']
    };
    function getTpl(data){
      var array = []
      array.push("<dl class=\"product\">\n")
      array.push("\t<dt>"+ data.name+"</dt>\n")
      for(var i in data.styles){
        array.push("\t<dd>"+data.styles[i]+"</dd>\n")
      }
      array.push("</dl>")
      return array.join('')
    //todo...
    };
    var result = getTpl(prod); 
    console.log(result)
    

    2.写出两种以上声明多行字符串的方法

    //尾部使用反斜杠
    var longString = "Long \
    long \
    long \
    string";
    ----------------------
    //连接运算符(+)
    var longString = 'Long '
      + 'long '
      + 'long '
      + 'string';
    

    3.补全如下代码,让输出结果为字符串: hello\饥人谷

    var str = "hello\\\\饥人谷"
    console.log(str)
    

    4.以下代码输出什么?为什么

    var str = 'jirengu\nruoyu'
    console.log(str.length)//输出13,\n是转义字符代表换行只占据一个字符
    

    5.写一个函数,判断一个字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是

    function fn(str1){
      var str2 = str1.split('').reverse().join('');
      if(str1 == str2){
          console.log('true')
      }else{
          console.log('false')
      }
    }
    

    6.写一个函数,统计字符串里出现出现频率最多的字符

    var str = "Don't trouble trouble till trouble troubles you.";
    var obj = {};
    for (var i = 0, length = str.length; i < length; i++) {
      var char = str.charAt(i);
      if (obj[char]) {
          obj[char]++;
      } else {
          obj[char] = 1; 
      }
    }
    
    var count = 0;
    var maxChar;
    for (var key in obj) {
      if (obj[key] > count) {
          maxChar=key
          count=obj[key]
      }
    }
    console.log("最多的字符是" + maxChar);
    console.log("出现的次数是" + count);
    

    7.写一个camelize函数,把my-short-string形式的字符串转化成myShortString形式的字符串

    function camelize(str){
      var arr=str.split('-')
      var arr1=[]
      for(var i=0; i<arr.length;i++){
        if(i>0){
          arr1.push(arr[i].replace(arr[i][0],arr[i][0].toUpperCase()));
        }
        else{
          arr1.push(arr[i])
        }
      }
      return arr1.join('');
    }
    

    8.写一个 ucFirst函数,返回第一个字母为大写的字符 (***)

    function ucFirst(str){
      var first = str[0].toUpperCase()
      var last = str.substr(1)
      return first+last
    }
    console.log(ucFirst("human"))
    

    9.写一个函数truncate(str, maxlength), 如果str的长度大于maxlength,会把str截断到maxlength长,并加上...

    var str = "javascript";
        function truncate (obj,max){
            if(obj.length>max){
                var arr = obj.split('');
                arr.splice(max,obj.length-max,"...");   
            }
            return arr.join('');
        }
        console.log(truncate(str,5));   
    

    10.什么是 json?什么是 json 对象?什么是 json 对象字面量?什么是 JSON内置对象?

    • json:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。
    • json 对象:json的对象由key,value组成,类似js的对象
    • json 对象字面量:是一种简单的描述以及声明方式。
    • JSON内置对象:JSON是javascript中的内置对象,提供JSON.parse()、JSON.stringify()等方法。

    11.如何把JSON 格式的字符串转换为对象?如何把对象转换为 JSON 格式的字符串?

    JSON.parse(jsonstr)将格式完好的json字符串转换为json对象
    JSON.stringify(jsonobj)将json对象转换为json字符串。

    相关文章

      网友评论

          本文标题:字符串与JSON

          本文链接:https://www.haomeiwen.com/subject/yqfxattx.html