Dean Front-end Dev Engineer

JS 中字符串的常用方法


字符串的常用方法

char

  • str.charAt(index):返回 str 中下标为 index 的字符,如果 index 超出范围,则返回 ''

  • str.charCodeAt(index):返回 str 对应下标的字符的 unicode 编码数字。

    String.fromCharCode(num):返回对应 unicode 编码数字 num 的字符。

indexOf(不支持正则)

  • string.indexOf(str):返回字符 str 在 string 中首次出现的位置,如果没匹配,返回 -1。
  • lastIndexOf():和 indexOf() 相似,不过是从末尾开始找。

搜索,替换,分离成数组(支持正则)

  • match(),在字符串内检索指定值。如果有匹配,则返回检索到的结果(数组),数组长度匹配检索到的数量;如果没有匹配到,则返回 null。
  • replace(),检索,并替换检索到的结果。返回替换后的字符串
  • search(),返回检索到的第一个结果的下标,没有检索到则返回 -1
  • split(),返回一个数组

###截取字符串片段

  • slice(start,end);包括 start,不包括 end,如果只传入一个参数,则从参数开始到尾
  • substring(start,end);和 slice 相似,就是 end 用使用负数时会自动转为 0
  • substr(start, howmany);与前两者不同,这个方法第 2 个参数是要截取的长度

大小写转换

  • toUpperCase()
  • toLowerCase()

JSON 数据常用处理方法

JSON.parse()

JSON.parse() 方法用于从一个 JSON 格式字符串解析出 javascript 类型的数据。

语法:JSON.parse(text[, reviver])

text: 必需, 一个有效的 JSON 字符串。

reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。

JSON 属性名称必须用双引号包裹;最后一个属性后面不能有逗号。

若被解析的 JSON 字符串是非法的,则会抛出 一个语法错误异常。

JSON.parse() 不允许用逗号作为结尾。

JSON.parse('{}');              // {}
JSON.parse('true');            // true
JSON.parse('"foo"');           // "foo"
JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
JSON.parse('null');            // null
JSON.parse('{name:tom}');      //Unexpected token 
JSON.parse('{name:"tom"}');    //Unexpected token 
JSON.parse('{"name":tom}');    //Unexpected token 
JSON.parse('{"age":undefined}');//Unexpected token 
JSON.parse('{"name":"tom"}');  //{name: "tom"}
JSON.parse('{"age":10}');      //{age: 10}
JSON.parse('{"age":null}');     //{age: null}
var str='{"p": 5}';
JSON.parse(str, function (k, v) {
    if(k === '') return v;     // 如果到了最顶层,则直接返回属性值,
    return v * 2;              // 否则将属性值变为原来的 2 倍。
});                            // { p: 10 }

JSON.stringify()

JSON.stringify() 方法用于将一个 javascript 类型的数据转换成 JSON 格式字符串

语法:JSON.stringify(value[, replacer [, space]])

value:一个有效的javascript值。 replace:(可选)

如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理;

如果该参数是一个数组,则只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中;

如果该参数为null或者未提供,则对象所有的属性都会被序列化;

space:(可选)

如果参数是个数字,它代表有多少的空格;上限为 10。改值若小于 1,则意味着没有空格;

如果该参数没有提供(或者为null)将没有空格;


Similar Posts

上一篇 DOM 是什么?

Comments