字符串與JSON(進階5作業(yè))

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

var product = {
    name: '女裝',
    styles: ['短款', '冬季', '春裝']
};

function getTpl(product) {
  var str = '<dl>';
  str += '     <dt>' + product.name + '</dt>';
  for(var i = 0; i < product.styles.length; i++) {
    str += '   <dd>' + product.styles[i] + '</dd>';
  }
  str += '   </dl>';
  return str;
}
console.log(getTpl(product));
<dl class="product">
    <dt>女裝</dt>
    <dd>短款</dd>
    <dd>冬季</dd>
    <dd>春裝</dd>
</dl>

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

字符串默認只能寫在一行內宏悦,分成多行將會報錯。

  • 如果長字符串必須分成多行包吝,可以在每一行的尾部使用反斜杠.
var longString = "Long \
long \
long \
string";

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')
// "line 1 line 2 line 3"

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

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

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

var str = 'jirengu\nruoyu';
console.log(str.length);

輸出13褥实,因為\n算作一個字符呀狼。

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

var a = "abcdedcba";
function isText(str){
  var newStr = str.split("").reverse().join("");
  if(newStr === str){
    return true;
  }
  else{
    return false;
  }
}
console.log(isText(a));

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

var str = "znmkaslkglkxznaskljhegtoidsaaad";
function getMostFreq(str){
  var num = 1;
  var max = 0;
  var maxCh;
  var arr = str.split("").sort();
  for(var i=0;i<arr.length;i++){
    if(arr[i+1]===arr[i]){
      num++;
    }
    else{
      num=1;
    }
    if(num>max){
      max=num;
      maxCh=arr[i];
    }
  }
  return ("最多字符為"+maxCh+"\n出現(xiàn)次數(shù)為"+max);
}
console.log(getMostFreq(str));

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

var str = "my-short-string";
function camelize(str){
  var newStr="";
  var a = str.split("-");
  for(var i=1;i<a.length;i++){
    newStr += a[i].replace(a[i][0],a[i][0].toUpperCase());
  }
  return(a[0]+newStr);
}
console.log(camelize(str));

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

var str = "hunger";
function ucFirst(str){
  return(str.replace(str[0],str[0].toUpperCase()));
}
console.log(ucFirst(str));

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

var str = "hungerdsagregcbsgaewre";
function truncate(str,maxlength){
  if(str.length <= maxlength){
    return str;
  }
  else{
    return (str.substr(0,maxlength-1)+"...");
  }
}
console.log(truncate(str,10));

10、什么是 json汁咏?什么是 json 語言亚斋?JSON 語言如何表示對象?window.JSON 是什么攘滩?

  • 什么是 json
    JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據交換格式帅刊。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON采用完全獨立于語言的文本格式漂问,但是也使用了類似于C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)厚掷。這些特性使JSON成為理想的數(shù)據交換語言。 易于人閱讀和編寫级解,同時也易于機器解析和生成(網絡傳輸速度)冒黑。
  • json 語言
    用于表示JSON數(shù)據格式的遵循一定語法的語言。
  • JSON 語言如何表示對象
    對象是一個無序的“名稱/值對”集合勤哗。一個對象以“{”(左括號)開始抡爹,“}”(右括號)結束。每個“名稱”后跟一個“:”(冒號)芒划;“名稱/值對”之間使用“,”(逗號)分隔冬竟。

object

var json1 = {"name": "Byron", "age": "24"}

  • window.JSON 是什么
    window.JSON 是JSON對象,JSON對象主要有兩個『靜態(tài)』函數(shù)
    parse:把字符串轉化為JSON對象
    stringify:把JSON對象轉化為字符串(出人意料的不叫toString民逼,因為不是實例方法)

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

parse:把字符串轉化為JSON對象
stringify:把JSON對象轉化為字符串
例:

var json = {
  "name": "Byron",
  "age": 24
};

var json_str = JSON.stringify(json);
console.log(json_str);
console.log(JSON.parse(json_str));
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末拼苍,一起剝皮案震驚了整個濱河市笑诅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖吆你,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弦叶,死亡現(xiàn)場離奇詭異,居然都是意外死亡妇多,警方通過查閱死者的電腦和手機伤哺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來者祖,“玉大人立莉,你說我怎么就攤上這事∑呶剩” “怎么了蜓耻?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長烂瘫。 經常有香客問我媒熊,道長奇适,這世上最難降的妖魔是什么坟比? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮嚷往,結果婚禮上葛账,老公的妹妹穿的比我還像新娘。我一直安慰自己皮仁,他們只是感情好籍琳,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著贷祈,像睡著了一般趋急。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上势誊,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天呜达,我揣著相機與錄音,去河邊找鬼粟耻。 笑死查近,一個胖子當著我的面吹牛,可吹牛的內容都是我干的挤忙。 我是一名探鬼主播霜威,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼册烈!你這毒婦竟也來了戈泼?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎矮冬,沒想到半個月后谈宛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡胎署,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年吆录,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琼牧。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡恢筝,死狀恐怖,靈堂內的尸體忽然破棺而出巨坊,到底是詐尸還是另有隱情撬槽,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布趾撵,位于F島的核電站侄柔,受9級特大地震影響,放射性物質發(fā)生泄漏占调。R本人自食惡果不足惜暂题,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望究珊。 院中可真熱鬧薪者,春花似錦、人聲如沸剿涮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽取试。三九已至悬槽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瞬浓,已是汗流浹背初婆。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瑟蜈,地道東北人烟逊。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像铺根,于是被迫代替她去往敵國和親宪躯。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內容

  • 0位迂、對于 HTTP 協(xié)議而言访雪,HTML详瑞、CSS、JS臣缀、JSON 的本質都是什么坝橡? HTML就是符合HTML語法的字...
    怎么昵稱閱讀 1,589評論 0 3
  • 1.使用數(shù)組拼接出如下字符串 };```function getTpl(data){var arr = "";fo...
    湖衣閱讀 311評論 0 0
  • 一 大概是去年10月份的某個下午,搬把椅子坐在后院里大玉蘭樹下精置,還在穿短袖的我光著胳膊趴在沁涼的大理石桌上發(fā)呆计寇,居...
    陳東二閱讀 312評論 0 1
  • "出來混,遲早要還的" 當下的現(xiàn)狀是過往的積累脂倦,現(xiàn)在的你是什么狀態(tài)番宁? 迷茫+薄弱 那么現(xiàn)在的你是不是要還?要還赖阻,前...
    水中望我閱讀 140評論 0 1
  • 3個鬧鐘振動心 我心正是睡意濃 奈何工作不由己 洗臉刷牙不掙眼 舉步維艱照心境 路癡不知歸何處 東南西北任我行 枯...
    簡一only閱讀 194評論 0 0