07礁哄、JavaScript-數(shù)組和字符串高級(jí)

每天一句:在你想要放棄的那一刻构罗,想想為什么當(dāng)初走到了這里 —— 科比

一铜涉、數(shù)組

  • splice()刪除、替換遂唧、添加
  arrayObject.splice(start, num);
  參數(shù):
    start: 操作開(kāi)始位置
    num: 操作的個(gè)數(shù)

   // 刪除: 從第1個(gè)開(kāi)始芙代,刪除2個(gè)元素,返回值為刪除元素
   arr.splice(1, 2);
  // 替換: 從第0個(gè)開(kāi)始盖彭,替換3個(gè)纹烹,返回值為替換元素
  arr.splice(0, 3, '測(cè)試’);
  // 添加: 從第1個(gè)開(kāi)始,替換0個(gè)召边,返回值為空
  arr.splice(1, 0, '測(cè)試’);   

案例: 數(shù)組去重

  • join()方法用于把數(shù)組中的所有元素放入一個(gè)字符串
  arrayObject.join(separtor);
  參數(shù): 
    separtor: 指定使用的分隔符铺呵,如果缺省,則使用逗號(hào)作為分隔符;
 
  var arr = [1,2,3];
  // 以-為分隔符隧熙,將數(shù)組串聯(lián)成字符串
  alert( arr.join('-') );
  • sort()方法是從小到大排序片挂,返回排序后的數(shù)組,而源數(shù)組也是排序好的
  注1: sort默認(rèn)是按照字符串進(jìn)行處理的贞盯,即比較首字母; 數(shù)組排序和數(shù)字字符串排序算法是一樣的;
  注2: sort方法并不是JS的標(biāo)準(zhǔn)中定制的音念,每個(gè)瀏覽器都可以自定義不同的排序方法;

  // 給sort傳遞一個(gè)比較函數(shù)
  arr2.sort(function(a, b){ 
    // return a - b;    // 從小到大
    return b - a;  // 從大到小
  });
        
  // 其他類(lèi)型的比較
  var arrW = ['123px','23px','1000px','327px'];
  arrW.sort(function(a, b){
    return parseInt(a) - parseInt(b);
  });
  alert(arrW);

案例: 隨機(jī)排序,即將數(shù)組打亂

  • reverse()方法從大到小排序躏敢,返回排序后的數(shù)組闷愤,而源數(shù)組也是排序好的

二、字符串

  • 字符串基本使用
    // 新建字符串
    var str3 = '面對(duì)疾風(fēng)吧...';
    var str4 = new String('哈撒科...');
    // new Number(),new Boolean(),new Date(),new Function(),new Array(),new Object() ==> (通過(guò)new關(guān)鍵字得到的都是對(duì)象父丰,但不推薦用法)

        // 字符串是特殊的數(shù)組
    // 獲取字符串的長(zhǎng)度
    str3.length
                
    // 通過(guò)下標(biāo)獲取字符串中的字符
    alert( str3[1] );
  • toUpperCase()轉(zhuǎn)為大寫(xiě)

  • toLowerCase()轉(zhuǎn)為小寫(xiě)

  • charAt()方法返回指定位置的字符

  • indexOf()方法返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置

  stringObject.indexOf(searchValue肝谭,fromIndex);
  參數(shù): 
    searchValue: 必填掘宪,檢索的字符串值;
    fromIndex:  可選,規(guī)定在字符串中開(kāi)始位置攘烛,默認(rèn)就是0;
  返回值: 
    返回對(duì)應(yīng)字符串的位置魏滚,如果不存在返回-1;
  注: indexOf()從左往右查找; lastIndexOf()從右往左邊查找

案例: 查找某個(gè)字符串出現(xiàn)的次數(shù)

  • substring()方法用于提取字符串中介于兩個(gè)指定下標(biāo)之間的字符
  stringObject.substring(start, stop);
  返回值: 返回的是stringObject的子字符串坟漱,其內(nèi)容是從start處到stop-1處的所有字符;
  注: 是不包含stop處的字符鼠次;start和stop大小沒(méi)有先后順序; 當(dāng)參數(shù)為負(fù)數(shù)時(shí),該參數(shù)當(dāng)0處理

案例: 動(dòng)態(tài)展開(kāi)/收起效果

  • split()方法用于把一個(gè)字符串分割成數(shù)組
  stringObject.split(separator,length);
  參數(shù): 
    separator: 以separator分割;
    length: 指定返回的數(shù)組最大長(zhǎng)度;
  返回值: 返回?cái)?shù)組中的字符串不包含separator本身;     
  注: 若無(wú)參數(shù)芋齿,是將整個(gè)字符串放入數(shù)組腥寇,即是字符串轉(zhuǎn)為數(shù)組類(lèi)型;

  // 無(wú)參數(shù),即是將字符串轉(zhuǎn)為數(shù)組
  var arr1 = str.split();
        
  // 以'.'切割字符串
  var arr2 = str.split('.');
        
  // 以''將字符串一個(gè)個(gè)字符切分
  var arr3 = str.split('');

案例(面試): 顛倒字符串
綜合案例: 查找觅捆、替換效果(split和join結(jié)合使用)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末赦役,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子栅炒,更是在濱河造成了極大的恐慌掂摔,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赢赊,死亡現(xiàn)場(chǎng)離奇詭異乙漓,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)释移,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)叭披,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人玩讳,你說(shuō)我怎么就攤上這事涩蜘。” “怎么了锋边?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵皱坛,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我豆巨,道長(zhǎng)剩辟,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任往扔,我火速辦了婚禮贩猎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘萍膛。我一直安慰自己吭服,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布蝗罗。 她就那樣靜靜地躺著艇棕,像睡著了一般蝌戒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沼琉,一...
    開(kāi)封第一講書(shū)人閱讀 51,190評(píng)論 1 299
  • 那天北苟,我揣著相機(jī)與錄音,去河邊找鬼打瘪。 笑死友鼻,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的闺骚。 我是一名探鬼主播彩扔,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼僻爽!你這毒婦竟也來(lái)了虫碉?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤胸梆,失蹤者是張志新(化名)和其女友劉穎蔗衡,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體乳绕,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年逼纸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了洋措。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡杰刽,死狀恐怖菠发,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情贺嫂,我是刑警寧澤滓鸠,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站第喳,受9級(jí)特大地震影響糜俗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜曲饱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一悠抹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧扩淀,春花似錦楔敌、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)庆聘。三九已至,卻和暖如春勺卢,著一層夾襖步出監(jiān)牢的瞬間伙判,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工值漫, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留澳腹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓杨何,卻偏偏與公主長(zhǎng)得像酱塔,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子危虱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

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