字符串与JSON

2017-03-19  本文已影响0人  mianmiani

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

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 格式的字符串?

上一篇 下一篇

猜你喜欢

热点阅读