美文网首页
Web20.字符串与JSON

Web20.字符串与JSON

作者: FiredEarthMusic | 来源:发表于2017-11-03 13:03 被阅读12次

字符串

var str = 'hello'
var str1 = 'world'

var str3 = "yyz"
var str4 = ' key="value" '
var str5 = "It's a long journey"

"Did she say \"Hello\"?"

var str6 = 'hello \n world'
//利用多行注释,生成多行字符串的变通方法
(function () {
line 1
line 2
line 3    
}).toString().split('\n').slice(1,-1).join('\n')
// "line 1 line 2 line 3"
var fn = function () { /*
    <div>
        <a href="http://jirengu.com">jirengu</a>
    </div>
*/}

console.log(fn.toString())

长度计算 连接

var str = 'hello';
console.log( str.length );
console.log( str[0] );
console.log( str[str.length - 1] );      //最后一位
console.log( str.charAt(0) );            //h
console.log( str.charCodeAt(0) );   //asics码

var str2 = 'world';
var str3 = str1 + str2
console.log( str3 );

截取

var str = "hello world";
var sub1 = str.subStr(1, 3);  //第一个开始位置  第二个是长度
var sub2 = str.subString(1, 3); //第一个是开始位置 第二个是结束位置  长度为结束位置减去开始位置
var sub3 = str.slice(1, 3);      //同上 允许负参

查找

var str = "hello my world";
var s1 = str.search('my');   //6 找不到为-1
var s2 = str.replace('my', 'your');  //
var s3 = str.match('my')    //返回匹配的数组

大小写

字符串的所有操作都不会改变原有的字符串
var str = "Hello";
str.toUpperCase();
str.toLowerCase();

var str1 = str.toUpperCase()
//undefined
str1.toLowerCase()
//"HELLO"
var str12 = "Hello"
str12.split('')
//["H", "e", "l", "l", "o"]
var str = 'abcdefg'
str.split('')

str.split('').reverse()

str.split('').reverse().join('')

str == str.split('').reverse().join('')

JSON 轻量级数据交换格式 基于JS(ECMA-262)的一个子集

数据交换格式 XML JSON YAML CSV 等

JSON语法是JavaScript对象表示语法的子集
1.数据在名称/值中
2.数据由逗号分隔
3.花括号保存对象
4.方括号保存数组

var json1 = {"name": "Byron", "age": "24"}
var json2 = [
    {"name": "Byron", "age": "24"},
    {"name": "Byron2", "age": "25"}
]
字面量的表示方式
var obj = {
    "name": "jirengu",
    "age": 30
}
var arr = [1,2,3]
IE以上浏览器都支持了一个对象JSON   JSON对象主要有两个 静态函数
1.parse:把字符串转化为JSON对象
2.stringify:把JSON对象转化为字符串(不叫toString) 因为不是实例方法

var str = '{"name": "fem", "age": 30}'
var obj = JSON.parse(str)
console.log(obj.name)
console.log(JSON.stringify(obj))

eval不建议用了

json2 兼容低版本IE
var obj = {
    "name": "jirengu",
    "age": 30,
    "2345": 'hello'
}
obj.name = 'ruoyu'
obj.age = 20
obj.['2345'] = 'world'
属性的遍历

var people = {
        "firstName": "John",
        "lastName": "Smith",
        "sex": "third",
        "age": 25,
        "address":
        {
                "stressAddress":  "21 2nd Street",
                "city": "New York",
                "state": "NY"
                "postalCode": "10021"
         },
         "phoneNumber":
         {
             {
                  "type": "home",
                  "number": "212 555-1234"
             },
             {
                  "type": "fax",
                  "number": "646 555-4567"
             }
         }
}

for(var key in people){
    console.log(key, ":",  people[key])
}
var str = 'hello world haha hoho llooo lol'
var dict = {}
for(var i = 0; i < str.length; i++){
    if(dict[str[i]]){
        ++dict[str[i]]
    }else{
       dict[str[i]] = 1
    }
}

var count = 0
var maxValue
for(key in dict){
    if(dict[key] > count){
        maxValue = key
        count = dict[key]
    }
}
console.log(count, maxValue)

题目1:使用数组拼接出如下字符串 ,其中styles数组里的个数不定

1.png

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

这段字符串很长,如何多行优雅的显示

2.png

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

3.png
var str = 'hello\\\\饥人谷'
    
console.log(str)

题目4:以下代码输出什么?为什么

4.png
//结果为13

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

str1 = 'abcdcba'
function strCheck(str){
  return str === str.split('').reverse().join('')
}
strCheck(str1)
//true

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

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

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

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

题目10:什么是 JSON格式数据?JSON格式数据如何表示对象?window.JSON 是什么?

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

相关文章

网友评论

      本文标题:Web20.字符串与JSON

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