字符串與json

1. 使用數(shù)組拼接出如下字符串

var prod = {
name: '女裝',
styles: ['短款', '冬季', '春裝']
};
function get(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 demo = get(prod);
console.log(demo);
//
<dl clall="product">
    <dt>女裝</dt>
    <dd>短款</dd>
    <dd>冬季</dd>
    <dd>春裝</dd>
</dl>

2. 寫出兩種以上聲明多行字符串的方法.

1. 第一種當然是使用,轉(zhuǎn)義字符.
    var str = "你好\nWorld!"
    console.log(str); 

2. 第二種也是使用,轉(zhuǎn)義字符,只不過,這次我們把字符串,多空出一段距離.
    var str = "你好\n\
            World\n\
            !";
    console.log(str);

3. 第三種,我們要使用,數(shù)組的join內(nèi)置方法進行轉(zhuǎn)換.
    var str = ["line1","line2","line3"];
    var obj = str.join("\n");
    console.log(obj); 

4. "+"連接
var str = 'luoqian'
    +'is'
    +'very'
    +'good'
    +'!'

3. 補全如下代碼,讓輸出結(jié)果為字符串: hello\高治東

var str = 'hello\\\\高治東';
console.log(str)

4.以下代碼輸出什么?為什么

var str = 'jirengu\nruoyu';
console.log(str.length);
//輸出13。使用了\n換行,占一個字符,空格不計算在長度內(nèi)。

var str = "\abc";
console.info(str.length); // 3
結(jié)果是3,說明'\a'是一個字符。
如果你想在字符串里面表示'\',那么你就得轉(zhuǎn)義它,給它也加一個反斜杠'\\'。
var str = "\\abc";
console.info(str.length); // 4

5. 寫一個函數(shù),判斷一個字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是

function isPalindrome(str) {
    newstr = str.split('').reverse().join('');
    if (str === newstr) {
        console.log('這是回文字符')
    } else {
        console.log('這不是回文字符')
    }
}
var a = 'abccba';
isPalindrome(a);

6. 寫一個函數(shù),統(tǒng)計字符串里出現(xiàn)出現(xiàn)頻率最多的字符

var str = "hello world nihao  nihao nihao haha ";
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(var key in dict) {
    if(dict[key] > count) {
    count = key;
    maxValue = dict[key];
    }
}

console.log("出現(xiàn)最多的字符是" + count,"出現(xiàn)了" + maxValue + "次");

7、寫一個camelize函數(shù),把my-short-string形式的字符串轉(zhuǎn)化成myShortString形式的字符串

如: camelize("background-color") == 'backgroundColor'
    camelize("list-style-image") == 'listStyleImage'

function camelize(str) {
    var arr = str.split("-");
    var tempStr = arr[0];
    for (var i = 1; i < arr.length; i++) {
        tempStr += arr[i].charAt(0).toUpperCase() + arr[i].slice(1, arr[i].length);
    }

    return tempStr;
}

console.log(camelize("background-color")); //== 'backgroundColor'
console.log(camelize("list-style-image")); // == 'listStyleImage'

8. 寫一個 ucFirst函數(shù),返回第一個字母為大寫的字符

//ucFirst("hunger") == "Hunger"
var str1 = "hunger"
function ucFirst(str) {
    var  a = str.charAt(0).toUpperCase()
            //console.log(a)
    var  b = str.substring(1)
            //console.log(a + b)
    return a + b
}

console.log(ucFirst(str1))

9. 寫一個函數(shù)truncate(str, maxlength), 如果str的長度大于maxlength,會把str截斷到maxlength長,并加上...

//substr() 方法可在字符串中抽取從 start 下標開始的指定數(shù)目的字符。

var str1 = "hello, this is hunger valley";
function truncate(str,maxlenght) {
    if(str.length > maxlenght){
        var sub1 = str.substr(0,maxlenght) + "...";
        console.log(1,sub1);
    }
    return sub1
}
 console.log(truncate(str1,10));

10. 什么是 json?什么是 json 對象?什么是 json 對象字面量?什么是 JSON內(nèi)置對象?

JSON是一種輕量級的數(shù)據(jù)交換格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。
JSON對象是一個值,要么是簡單類型的值,要么是復合類型的值,但是只能是一個值。JSON對值的要求:
復合類型的值只能是數(shù)組或?qū)ο螅荒苁呛瘮?shù)、正則表達式對象、日期對象。
簡單類型的值只有四種:字符串、數(shù)值(必須以十進制表示)、布爾值和null(不能使用NaN, Infinity, -Infinity和undefined)。
字符串必須使用雙引號表示,不能使用單引號。
對象的鍵名必須放在雙引號里面。
數(shù)組或?qū)ο笞詈笠粋€成員的后面,不能加逗號。
JSON對象字面量 字面量是一種表示值的記法,JSON對象字面量表示以JSON形式表現(xiàn)一種值。
JSON內(nèi)置對象 parse、stringify方法

11. 如何把JSON 格式的字符串轉(zhuǎn)換為對象?如何把對象轉(zhuǎn)換為 JSON 格式的字符串?

JSON.parse()方法 把JSON 格式的字符串轉(zhuǎn)換為對象
JSON.stringify()方法 對象轉(zhuǎn)換為 JSON 格式的字符串

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 0、對于 HTTP 協(xié)議而言,HTML、CSS、JS、JSON 的本質(zhì)都是什么? HTML就是符合HTML語法的字...
    怎么昵稱閱讀 1,634評論 0 3
  • 一、代碼習題 1.使用數(shù)組拼接出如下字符串 ,其中styles數(shù)組里的個數(shù)不定 2.寫出兩種以上聲明多行字符串的方...
    徐國軍_plus閱讀 485評論 0 1
  • 1,對于 HTTP 協(xié)議而言,HTML、CSS、JS、JSON 的本質(zhì)都是什么? 對于HTTP協(xié)議而言,html、...
    進擊的前端_風笑影閱讀 861評論 0 0
  • 1.使用數(shù)組拼接出如下字符串 };```function getTpl(data){var arr = "";fo...
    湖衣閱讀 333評論 0 0
  • 1、使用數(shù)組拼接出如下字符串 2、寫出兩種以上聲明多行字符串的方法 例如: var str = 'abcdeabc...
    饑人谷_Leon閱讀 298評論 0 0