字符串與JSON

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

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.style[key]+"</dd>\n")
    }
    arr.push("</dl>")
    return arr.join('')
};
var result = getTplStr(prod);  //result為下面的字符串
console.log(result)

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

方法一: 使用反斜杠“\”將一行后面的空格轉(zhuǎn)義,例如:

var longString = "Long \
long \
long \
string";

方法二:用加號”+“連接,例如:

var longString = 'Long '
  + 'long '
  + 'long '
  + 'string';

方法三:利用多行注釋,生成多行字符串的變通方法,例如:

(function () { /*
line 1
line 2
line 3
*/}).toString().split('\n').slice(1,-1).join('\n')

3、補全如下代碼,讓輸出結(jié)果為字符串: hello\饑人谷

···
var str = "hello\\饑人谷" //補全代碼
console.log(str)
···

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

var str = 'jirengu\nruoyu'
console.log(str.length) //輸出13,因為\n被認(rèn)為是一個字符,代表換行

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

function juge (str){
    var result
    var reversed = str.split('').reverse().join('')
    if(reversed == str){
        result = true
    }
    else {
        result = false
    }
    return result
}

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

function count (str) {
    var dict = {}
    for(var i=0;i<str.length;i++){
        if(dict[str[i]]){
            dict[str[i]]++
        }
        else{
            dict[str[i]]=1
        }
    }
    var max=0
    var maxLetter
    for(var key in dict){
        if(dict[key]>max){
            max = dict[key]
            maxLetter = key
        }
    }
    console.log(maxLetter,max)
}

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

function camelize (str) {
    var arr = str.split("-")
    for(var i=1;i<arr.length;i++){
        var newArr = arr[i].split("")
        newArr[0] = newArr[0].toUpperCase()
        arr[i] = newArr.join("")
    }
    var newStr = arr.join("")
    return newStr
}
console.log(camelize("background-color")
Paste_Image.png

運行結(jié)果

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

function ucFirst(str) {
    var arr1 = str.split('')
    var arr2 = str.toUpperCase().split('')
    for(var i=0; i<arr1.length;i++){
        if(arr1[i] === arr2[i]){
            return arr2[i]
        }
    }
}
console.log(ucFirst("shfjknHTufbrJk"))
Paste_Image.png

運行結(jié)果

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

function truncate(str, maxlength) {
    if(str.length > maxlength){
        var newStr = str.slice(0,maxlength)+"..."
        return newStr
    }
    else{
        return str
    }
}
console.log(truncate("abcdefghijklmn", 5))
Paste_Image.png

運行結(jié)果

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

  • JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON是一種理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成(網(wǎng)絡(luò)傳輸速度)。
  • json對象和js對象對比
Paste_Image.png
  • json字面量是一種簡單的聲明json對象的方式,例如 var count = { "one": 1, "two": 2, "three": 3 }
  • JSON是javascript中的內(nèi)置對象,提供了JSON.parse()、JSON.stringify()等方法。

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

Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 0、對于 HTTP 協(xié)議而言,HTML、CSS、JS、JSON 的本質(zhì)都是什么? HTML就是符合HTML語法的字...
    怎么昵稱閱讀 1,683評論 0 3
  • 0、對于 HTTP 協(xié)議而言,HTML、CSS、JS、JSON 的本質(zhì)都是什么? 1.對于HTTP協(xié)議而言,htm...
    saintkl閱讀 642評論 0 0
  • 1.使用數(shù)組拼接出如下字符串 };```function getTpl(data){var arr = "";fo...
    湖衣閱讀 398評論 0 0
  • 1、使用數(shù)組拼接出如下字符串 2、寫出兩種以上聲明多行字符串的方法 例如: var str = 'abcdeabc...
    饑人谷_Leon閱讀 354評論 0 0
  • 1,對于 HTTP 協(xié)議而言,HTML、CSS、JS、JSON 的本質(zhì)都是什么? 對于HTTP協(xié)議而言,html、...

友情鏈接更多精彩內(nèi)容