字符串與JSON

1.使用數組拼接如下字符串,其中styles數組中的個數不確定

var prod = {
    name: '女裝',
    styles: ['短款', '冬季', '春裝']
};
function getTplStr(data){
  var arr = [];
  arr.push('<dl class="product">');
  var dt = '<dt>' + data.name + '</dt>';
  arr.push(dt);
  for(var i = 0; i < data.styles.length; i++){
    var dd = '<dd>' + data.styles[i] + '</dd>';
    arr.push(dd);
  }
  arr.push("</dl>");
  var str = arr.join("");
  return str;
};
var result = getTplStr(prod);  //result為下面的字符串
<dl class="product"><dt>女裝</dt><dd>短款</dd<dd>冬季</dd><dd>春裝</dd></dl>

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

var str = "abcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdeabcdeancdeabcdeabcdabcd"
如何優雅的顯示

//方式1
var str = "abcdeabcdeabcdeancdeabc\
deabcdeabcdeancdeabcdeabcd\
eabcdeancdeabcdeabcdabcd"

//方式2
var str = "abcdeabcdeabcdeanc"
+"deabcdeabcdeabcdeancdeab"
+ "cdeabcdeabcdeancdeabcdeabcdabcd"

3.補全如下代碼,讓輸出結果為字符串: hello\饑人谷

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

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

var str = 'jirengu\nruoyu'
console.log(str.length)  // 13   \n為一個字符

5.寫一個函數,判斷一個字符串是回文字符串,如abcdcba是,abcdabcd不是

 function strTest(str){
  var  myStr = str.split("").reverse().join("");
  if( myStr === str ){
    console.log(str + "是一個回文字符串");
  }
  else{
    console.log(str + "不是一個回文字符串");
  }  
}
var str1 = "abcdcba";
var str2 = "abcdabcd";
strTest(str1);
strTest(str2);

6.寫一個函數,統計字符串中出現頻率最多的字符

function mostLetter(str){
  var dist = {};
  for(var i = 0; i < str.length; i++){
    if( dist[str[i]] ){
      dist[str[i]]++;
    }
    else{
      dist[str[i]] = 1;
    }
  var count = 0;
  var mostValue; 
  for(var key in dist){
      if( dist[key] > count ){
        mostValue = key;
        count = dist[key];
      }
    }
  }
console.log(mostValue,count);
}
var str1 = "abcabc a";
var str2 = "abcd a b c d a b"
mostLetter(str1);    // a 3
mostLetter(str2);    //   6   /*空格出現了6次*/

7.寫一個camelize函數,把my-short-string形式的字符串轉化成myShortString形式

function cameLize(str){
  var arr = str.split("-");
  for(var i=1;i < arr.length; i++){
    arr[i] = arr[i].substring(0,1).toUpperCase() + arr[i].substr(1);
  }
var strNew = arr.join("");
console.log(strNew) ;
}
var str = "my-short-sting";
cameLize(str);

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

function ucFirst(str){
  if(typeof str === "string" && str.length > 0){
     return str.substring(0,1).toUpperCase() + str.substr(1);
  }else{
    return str + "不是一個字符串"
  }
}
ucFirst(hunger);  // Hunger
unFirst(312);     //  312不是一個字符串

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

truncate("hello, this is hunger valley,", 10) == "hello, thi...";
truncate("hello world", 20) == "hello world"

function truncate(str,maxlength){
  if(str.length > maxlength){
    return str.substr(0,maxlength) + "..."
  }else{
    return str
  }
}
truncate("hello world", 20);
truncate("hello, this is hunger valley,", 10)

10.什么是json數據格式?json格式數據如何保存對象?window.json是什么?

  • JSON是一種輕量級的數據交換格式,基于JavaScript的一個子集,采用完全獨立于語言的文本格式,便于人理解和編寫,也易于機器解析和生成。
  • 每個對象是一個無序的“名稱/值對”集合,對象以一個“{”(左大括號)開始和一個“}”(右大括號)結束;每個“名稱”后跟“:”(冒號),“名稱/值對”以“,”(逗號隔開)。 花括號保存對象,方括號保存數組。
var json1 = {"name": "Byron", "age": "24"}
var json2 = [
    {"name": "Byron", "age": "24"}, 
    {"name": "Byron2", "age": "25"}
]

11.如何把JSON 格式的字符串轉換為 JS 對象?如何把 JS對象轉換為 JSON 格式的字符串?

JSON.stringify(): 用于將JSON對象轉換為JSON格式的字符串

var json1 = {"name": "Byron", "age": "24"}
JSON.stringify(json1);  //"{"name":"Byron","age":"24"}"

JSON.parse(): 用于將JSON格式的字符串轉換為JSON對象

var json2 = '{"name":"Byron","age":"24"}';
JSON.parse(json2); //  {name: "Byron", age: "24"}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 0、對于 HTTP 協議而言,HTML、CSS、JS、JSON 的本質都是什么? 1.對于HTTP協議而言,htm...
    saintkl閱讀 587評論 0 0
  • 什么是JSON?什么是JSON語言?JSON 語言如何表示對象?window.JSON 是什么?如何把JSON 格...
    LeeoZz閱讀 523評論 0 0
  • 0、對于 HTTP 協議而言,HTML、CSS、JS、JSON 的本質都是什么? HTML就是符合HTML語法的字...
    怎么昵稱閱讀 1,634評論 0 3
  • 1.使用數組拼接出如下字符串 };```function getTpl(data){var arr = "";fo...
    湖衣閱讀 333評論 0 0
  • 1. 對于 HTTP 協議而言,HTML、CSS、JS、JSON 的本質都是什么 對于HTTP協議而言,html、...
    謹言_慎行閱讀 408評論 0 0