美文网首页
字符串与JSON

字符串与JSON

作者: mianmiani | 来源:发表于2017-03-19 15:08 被阅读0次

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

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

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

    var str = "hello\
    hello\
    hello\"
    ;
    
    var str = "hello"
    +"hello"
    +"hello";
    
    (function(){/*
      hello
      hello
      hello
    */}).tostring().split("\n").slice(1,-1).join("\n")
    

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

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

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

    var str = 'jirengu\nruoyu'
    console.log(str.length)
    //输出:13,因为\n为一个字符。
    

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

    function judge(str){
      var newstr = str.split("").reverse().join("")
      if(str === newstr){
        console.log("yes!")
      }
      else{
        console.log("no!")
      }
    }
    

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

    function statistics(str){
      var dict = {};
      for(var i = 0;i<str.length;i++){
        if(dict[str[i]]){
          ++dict[str[i]];
        }
        else{
          dict[str[i]] = 1;
        }
      }
      return dict;
    }
    

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

    camelize("background-color") == 'backgroundColor'
    camelize("list-style-image") == 'listStyleImage'
    
    function camelize(str){
      var dict = [];
      var num = str.search("-");
      for(var i = 0;i < str.length;i++){
        if(str[i] !== "-"){
          dict.push(str[i]);
        }
        else{
          dict.push(str[i+1].toUpperCase());
          i++;
        }
      }
      var result = dict.join("");
      return result
    }
    

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

    function ucFirst(str) {
      var str1 = str[0].toUpperCase();
      var str2 = str.replace(str[0],str1);
      return str2;
    }
    
    ucFirst("hunger") == "Hunger"
    

    写一个函数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){
        var str1 = str.substr(0,maxlength)+"..."
      }
      return str1;
    }
    

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

    1. JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速度)。
    2. JSON对象,其实就是JSON的值,基本要符合以下规则:
      复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。
      简单类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null(不能使用NaN, Infinity, -Infinity和undefined)。
      字符串必须使用双引号表示,不能使用单引号。
      对象的键名必须放在双引号里面。
      数组或对象最后一个成员的后面,不能加逗号
    3. 对象字面量其实就是一种简单的描素以及声明方式, 因为本身json就是JavaScript语法集的一种,所以json字面量就是用json格式的JavaScript对象字面量
    4. 经过JSON.parse()转换的值;

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

    • JSON.stringify(str)
    • JSON.parse(JSON.stringify(str))

    相关文章

      网友评论

          本文标题:字符串与JSON

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