json

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

var prod = {
    name: '女裝',
    styles: ['短款', '冬季', '春裝']
};
function getTpl(data){
//todo...
};
var result = getTplStr(prod);  //result為下面的字符串
<dl class="product">
    <dt>女裝</dt>
    <dd>短款</dd>
    <dd>冬季</dd>
    <dd>春裝</dd>
</dl>

代碼如下

ar prod = {
    name: '女裝',
    styles: ['短款', '冬季', '春裝']
};
function getTpl(data){
  var a = "";
  for(var key in data){
    if(typeof data[key] === "string"){
      a = a + "\t" +  "<dt>" + data[key] + "</dt>" + "\n";
    }else{
     for(var i = 0; i < data[key].length;i++){
      a = a + "\t" + "<dd>" + data[key][i] + "</dd>" + "\n";
     }
    }
  }
  return '<dl class="product">' + "\n"+ a + "</dl>";
}
var result = getTpl(prod); 
console.log(result);

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

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

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

var str = 'hello\\\\饑人谷'
console.log(str)

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

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

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

function fn(str1){
        var str2 = str1.split('').reverse().join('');
        if(str1 == str2){
            console.log('true')
        }else{
            console.log('false')
        }
    }

    fn('abcdcba');//true
    fn('abcdcbb');//false

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

var str = "abbcccdddd";
    var obj = {};
    for (var i = 0, length = str.length; i < length; i++) {
        var char = str.charAt(i);
        if (obj[char]) {
            obj[char]++;
        } else {
            obj[char] = 1; 
        }
    }

    var max = 0;
    var maxChar = null;
    for (var key in obj) {
        if (max < obj[key]) {
            max = obj[key];
            maxChar = key;
        }
    }
    console.log("最多的字符是" + maxChar);
    console.log("出現(xiàn)的次數(shù)是" + max);

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

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


    function camelize(str){
        var arr = [];
        for(var i=str.length;i--;i>=0){

            if(str[i-1]=='-'){
                arr.push(str[i].toUpperCase())
            }else{
                arr.push(str[i])
            }
        }
        var string = arr.reverse().join('');
        return string.split('-').join('');
    }
    console.log(camelize("background-color") == "backgroundColor");
    console.log(camelize("list-style-image") =="listStyleImage");

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

function ucFirst(str){
        var arr = [];
        arr.push(str[0].toUpperCase());
        for(var i=1;i<str.length;i++){
            arr.push(str[i])
        }
        var str2 = arr.join('');
        return str2
    }
ucFirst("hunger") == "Hunger"http://輸出結(jié)果true

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

function truncate(str,maxlength){
        var str2;
        if(maxlength>=str.length) {
            str2= str
        }else{
                str2 =  str.slice(0,maxlength)+'...';
            }
            return str2;
    }
truncate("hello, this is hunger valley,", 10) == "hello, thi...";//true
truncate("hello world", 20) == "hello world"http://true

10什么是 json?什么是 json 語言?JSON 語言如何表示對象?window.JSON 是什么?

json(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。

它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成(網(wǎng)絡(luò)傳輸速度)。

json對象就是json的值,json值可以是以下幾種

數(shù)字(整數(shù)或浮點數(shù))
字符串(在雙引號中)
邏輯值(true 或 false)
數(shù)組(在方括號中)
對象(在花括號中)
null
json對象字面量是一種簡單的描述以及聲明方式。

json是javascript中的內(nèi)置對象,有JSON.parse()、JSON.stringify()等方法。
11、如何把JSON 格式的字符串轉(zhuǎn)換為 JS 對象?如何把 JS對象轉(zhuǎn)換為 JSON 格式的字符串?

var str = {name:"haha",
        age:20}
    console.log(JSON.stringify(str))
    console.log(JSON.parse(JSON.stringify(str)))
最后編輯于
?著作權(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,687評論 0 3
  • 0、對于 HTTP 協(xié)議而言,HTML、CSS、JS、JSON 的本質(zhì)都是什么? 1.對于HTTP協(xié)議而言,htm...
    saintkl閱讀 646評論 0 0
  • 1.使用數(shù)組拼接出如下字符串 };```function getTpl(data){var arr = "";fo...
    湖衣閱讀 403評論 0 0
  • 一.使用數(shù)組拼接出如下字符串var prod = { name: '女裝', styles: ['短款', '冬季...
    邵志遠(yuǎn)閱讀 299評論 0 0
  • 1、使用數(shù)組拼接出如下字符串 2、寫出兩種以上聲明多行字符串的方法 例如: var str = 'abcdeabc...
    饑人谷_Leon閱讀 366評論 0 0

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