美文网首页
字符串与JSON

字符串与JSON

作者: 饥人谷_啦啦啦 | 来源:发表于2017-06-17 15:32 被阅读0次

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

    var prod = {
        name: '女装',
        styles: ['短款', '冬季', '春装']
    };
    function getTplStr(data){
      var arr=[]
      arr.push(data.name)
      for(var i=0 in data.styles){
        arr.push(data.styles[i])
      }
      console.log(arr)
      var str='<dl class="product">'
      for (var key in arr){
        if(key===0){
           str+='<dt>'+arr[key]+'</dt>'
        }else{
          str+='<dd>'+arr[key]+'</dd>'
        }
      }
       str+='</dl>'
      return str
    };
    var result = getTplStr(prod); 
    console.log(result)
    
    <dl class="product">
        <dt>女装</dt>
        <dd>短款</dd>
        <dd>冬季</dd>
        <dd>春装</dd>
    </dl>
    

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

    • var str="abcd\n\ efg\n\ hij"
    • var arr=['abc','def','ghi']
      arr.join("\n")
    • var str='abc\n'
      +'bce\n'
      +'bcd'

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

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

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

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

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

    
    function isReserve(str){
      for(var i in str){
          if((str.substr(i,1))!==(str.substr(-i-1,1))){
                console.log('false')
                break    
          }else{
                console.log('ture')
          }
        }      
    }
    var str="abcdcbadada"
    console.log(isReverse(str))//不知道最后怎么让函数只输出一次ture或者false
    
    var str="abcdcba"
    var str1=str.split('').reverse().join('')
    if(str1===str){
      console.log('ture')
    }
    

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

    var str="abcdefadfadfadf"
    function maxBite(str){
      var dict={}
      for(i in str){
        if(dict[str[i]]){
          ++dict[str[i]] 
        }else{
          dict[str[i]]=1
        }
      }
      var count=0
      var maxbite=[]
      for(var key in dict){
        if(dict[key]>=count){
          count=dict[key]
          maxbite.push(key)
        }
      }
      console.log(maxbite)
      console.log(maxbite+":"+count)
    }
    var str1=maxBite(str)
    

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

    var str="my-short-string"
    function upper(str){
      var arr=str.split('-')
      var arr1=[]
      arr1[0]=arr[0]
      for(var i=1;i<arr.length;i++){
        arr1.push(arr[i].replace(arr[i][0],arr[i][0].toUpperCase()))
      }
      var newstr=arr1.join('')
      return newstr
    }
    var abc=upper(str)
    console.log(abc)
    

    这道题多次尝试操作原字符串,类似于直接操作arr[i][0]=arr[i][0].toUpperCase,虽然可以运行,但是arr[i]并没有改变,这和操作原字符串str[0]=str[0].toUpperCase str不变应该是一个道理。

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

    function ucFirst(str){
      newstr=str.replace(str[0],str[0].toUpperCase())
      return newstr
    }
    var str="adbadfaf"
    console.log(ucFirst(str)) 
    
    function ucFirst(str){
    var arr=str.split('')
    arr[0]=arr[0].toUpperCase()
    return arr.join('')
    }
    var str='abacdaf'
    console.log(ucFirst(str))
    

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

    function truncate(str,maxlength){
      if(str.length>maxlength){
          var arr=[]
          arr=str.split('')
          arr.length=maxlength
          arr.push('...')
          return arr.join('')
      }else{
          return str
      }
    }
    var str="abcsdfa"
    console.log(truncate(str,20))
    

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

    • 什么是JSON?
      JSON是一种轻量级的数据交换格式,他基于JS的一个子集。采用独立的语言格式,易读写,易机器解析和生成。

    • 什么是JSON对象?
      json对象就是json的值,基本要符合以下规则

      • 复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。
      • 简单类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null
      • 字符串必须使用双引号表示,不能使用单引号
      • 对象的键名必须放在双引号里面
      • 数组或对象最后一个成员的后面,不能加逗号
    • 什么是JSON对象字面量?
      JSON对象简单的描述和声明方式。其实字面量就是一种简单的描述以及声明方式

    • 什么是JSON内置对象
      json对象有两个静态函数,一个用于把字符串变成json对象,另一个用于把json对象变成字符串,分别是JSON.parse()和JSON.stringify().

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

    var obj='{"name":"lalala","age":20}'
    var str_json=JSON.parse(obj)
    console.log(str_json)
    console.log(JSON.stringify(str_json))
    

    相关文章

      网友评论

          本文标题:字符串与JSON

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