美文网首页
字符串与JSON

字符串与JSON

作者: leocz | 来源:发表于2017-07-03 16:32 被阅读0次

    1.使用数组拼接如下字符串,其中styles数组中的个数不确定

    var prod = {
        name: '女装',
        styles: ['短款', '冬季', '春装']
    };
    function getTplStr(data){
      var arr = [];
      arr.push('<dl class="product">');
      var dt = '<dt>' + data.name + '</dt>';
      arr.push(dt);
      for(var i = 0; i < data.styles.length; i++){
        var dd = '<dd>' + data.styles[i] + '</dd>';
        arr.push(dd);
      }
      arr.push("</dl>");
      var str = arr.join("");
      return str;
    };
    var result = getTplStr(prod);  //result为下面的字符串
    <dl class="product"><dt>女装</dt><dd>短款</dd<dd>冬季</dd><dd>春装</dd></dl>
    

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

    var str = "abcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdabcd"
    如何优雅的显示

    //方式1
    var str = "abcdeabcdeabcdeancdeabc\
    deabcdeabcdeancdeabcdeabcd\
    eabcdeancdeabcdeabcdabcd"
    
    //方式2
    var str = "abcdeabcdeabcdeanc"
    +"deabcdeabcdeabcdeancdeab"
    + "cdeabcdeabcdeancdeabcdeabcdabcd"
    

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

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

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

    var str = 'jirengu\nruoyu'
    console.log(str.length)  // 13   \n为一个字符
    

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

     function strTest(str){
      var  myStr = str.split("").reverse().join("");
      if( myStr === str ){
        console.log(str + "是一个回文字符串");
      }
      else{
        console.log(str + "不是一个回文字符串");
      }  
    }
    var str1 = "abcdcba";
    var str2 = "abcdabcd";
    strTest(str1);
    strTest(str2);
    

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

    function mostLetter(str){
      var dist = {};
      for(var i = 0; i < str.length; i++){
        if( dist[str[i]] ){
          dist[str[i]]++;
        }
        else{
          dist[str[i]] = 1;
        }
      var count = 0;
      var mostValue; 
      for(var key in dist){
          if( dist[key] > count ){
            mostValue = key;
            count = dist[key];
          }
        }
      }
    console.log(mostValue,count);
    }
    var str1 = "abcabc a";
    var str2 = "abcd a b c d a b"
    mostLetter(str1);    // a 3
    mostLetter(str2);    //   6   /*空格出现了6次*/
    

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

    function cameLize(str){
      var arr = str.split("-");
      for(var i=1;i < arr.length; i++){
        arr[i] = arr[i].substring(0,1).toUpperCase() + arr[i].substr(1);
      }
    var strNew = arr.join("");
    console.log(strNew) ;
    }
    var str = "my-short-sting";
    cameLize(str);
    

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

    function ucFirst(str){
      if(typeof str === "string" && str.length > 0){
         return str.substring(0,1).toUpperCase() + str.substr(1);
      }else{
        return str + "不是一个字符串"
      }
    }
    ucFirst(hunger);  // Hunger
    unFirst(312);     //  312不是一个字符串
    

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

    truncate("hello, this is hunger valley,", 10) == "hello, thi...";
    truncate("hello world", 20) == "hello world"
    
    function truncate(str,maxlength){
      if(str.length > maxlength){
        return str.substr(0,maxlength) + "..."
      }else{
        return str
      }
    }
    truncate("hello world", 20);
    truncate("hello, this is hunger valley,", 10)
    

    10.什么是json数据格式?json格式数据如何保存对象?window.json是什么?

    • JSON是一种轻量级的数据交换格式,基于JavaScript的一个子集,采用完全独立于语言的文本格式,便于人理解和编写,也易于机器解析和生成。
    • 每个对象是一个无序的“名称/值对”集合,对象以一个“{”(左大括号)开始和一个“}”(右大括号)结束;每个“名称”后跟“:”(冒号),“名称/值对”以“,”(逗号隔开)。 花括号保存对象,方括号保存数组。
    var json1 = {"name": "Byron", "age": "24"}
    var json2 = [
        {"name": "Byron", "age": "24"}, 
        {"name": "Byron2", "age": "25"}
    ]
    

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

    JSON.stringify(): 用于将JSON对象转换为JSON格式的字符串

    var json1 = {"name": "Byron", "age": "24"}
    JSON.stringify(json1);  //"{"name":"Byron","age":"24"}"
    

    JSON.parse(): 用于将JSON格式的字符串转换为JSON对象

    var json2 = '{"name":"Byron","age":"24"}';
    JSON.parse(json2); //  {name: "Byron", age: "24"}
    

    相关文章

      网友评论

          本文标题:字符串与JSON

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