美文网首页
字符串与JSON

字符串与JSON

作者: 普莱那 | 来源:发表于2017-03-13 08:57 被阅读14次

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

    function getTplStr(data){
      var arr = [];
      arr.push("<dl class = \"product\">" + "\n");
      arr.push("<dt>" + data.name + "</dt>" + "\n");
      for(var i = 0;i<data.styles.length;i++){
        arr.push("<dd>" + data.styles[i] + "</dd>" + "\n")
      }
      arr.push("</dl>");
      return arr.join("")

    };

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


1. 使用转义字符:
var str1 = "hello \n jirengu"
console.log(str1)

2. 使用数组的join方法,用"\n"把他们连接起来
var str = ["abc","dgb","dgh"];
var str1 = str.join("\n");
console.log(str1);

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

var str = "hello\\饥人谷"//补全代码
console.log(str)

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

var str = 'jirengu\nruoyu'
console.log(str.length)
输出13,因为换行符算作一个字符

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

function isPalindrome(str){
  var oppiStr = str.split("").reverse().join("")
  return str === oppiStr
}

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

    function findMost(str){
      var obj = {};
      for(var i = 0;i<str.length;i++){
        if(obj[str[i]]){
          obj[str[i]]++;
        }else {
          obj[str[i]] = 1;
        }
      }
      var count = 0;
      var letter = "";
      for(var key in obj){
        if(obj[key]>count){
          count = obj[key];
          letter = key;
        }
      }
      return letter + ":" +count
    }

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

camelize("background-color") == 'backgroundColor'
camelize("list-style-image") == 'listStyleImage'
    function camelize(str){
      var pos = str.search("-");
      if(pos === -1){
        return str;
      }
      var newStr;
      newStr = str.substring(0,pos) + str[pos+1].toUpperCase() + str.substring(pos+2);
      console.log(newStr,"process");
      return camelize(newStr);
    }
    camelize("list-style-image");

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

ucFirst("hunger") == "Hunger"
function tr(str){
  str = str.replace(str[0],str[0].toUpperCase())
  return str
}

写一个函数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,num){
  var len = str.length;
  if(len<num){
    return str
  }
  return str.slice(0,num) + "..."
}

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

  • json(javascript object notation)的缩写是一种用于数据交换的文本格式,目的是取代繁琐的xml。具有书写简单,一目了然,符号javascript原生语法,可以由解释引擎直接处理,不用另外添加解析代码。所以,json迅速被接受,成为es5标准的一部分。
  • json对象就是json的值,基本要符合以下规则
  1. 复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。
  2. 简单类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null
    字符串必须使用双引号表示,不能使用单引号
  3. 对象的键名必须放在双引号里面
  4. 数组或对象最后一个成员的后面,不能加逗号
  • json对象字面量是一种简单的描述以及声明方式。
  • JSON是javascript中的内置对象,提供了JSON.parse()、JSON.stringify()等方法。

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

var obj=JSON.parse(str),//转为对象
var newstr=JSON.stringify(obj).//转为字符串

相关文章

网友评论

      本文标题:字符串与JSON

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