數(shù)組、字符串常用方法

字符串

字符串的創(chuàng)建:

var str = "abc";
var str = new String();

將任意類型的值轉(zhuǎn)換成字符串:

Var a = 10;
Var str = a.toString(); //string
Var str1 = “”+a; //string
Var str2 = String(a);//string

除了 slice() 和 substr() 方法里的負(fù)值是代表從右截取俘侠,其他方法里的負(fù)值一律作為0處理

  1. charCodeAt方法返回一個整數(shù)象缀,代表指定位置字符的Unicode編碼。
    Str.charCodeAt(index);如果指定位置沒有字符爷速,返回NaN央星;
var str = "abc";
console.log(str.charCodeAt(3));//NaN
  1. fromCharCode方法從一些Unicode字符串中返回一個字符串。

  2. charAt方法返回指定索引位置處的字符惫东。如果超出有效范圍的索引值返回空字符串莉给。

  3. slice方法返回字符串的片段。

strObj.slice(start[,end]) 

start下標(biāo)從0開始的strObj指定部分起始索引凿蒜。如果start為負(fù)禁谦,將它作為length+start處理,此處length為字符串的長度废封。 

end小標(biāo)從0開始的strObj指定部分結(jié)束索引州泊。如果end為負(fù),將它作為length+end處理漂洋,此處length為字符串的長度遥皂。
var str = "abc";
var str1 = str.slice(0,-2);
var str2 = str.slice(-1);
console.log(str1,str2);//a c

5、substring方法返回位于String對象中指定位置的子字符串

strObj.substring(start,end) 

    start指明子字符串的起始位置刽漂,該索引從0開始起算演训。 
        
    end指明子字符串的結(jié)束位置,該索引從0開始起算贝咙。 
        
    substring方法使用start和end兩者中的較小值作為子字符串的起始點(diǎn)样悟。如果start或end為NaN或者為負(fù)數(shù),那么將其替換為0。

6窟她、substr方法返回一個從指定位置開始的指定長度的子字符串陈症。

    strObj.substr(start[,length]) 
    start所需的子字符串的起始位置。字符串中的第一個字符的索引為0震糖。 
    length在返回的子字符串中應(yīng)包括的字符個數(shù)录肯。 
    var str = "ABCDEF"; 
    str.substr(2,4); //CDEF ;

7吊说、indexOf方法返回String對象內(nèi)第一次出現(xiàn)子字符串位置论咏。如果沒有找到子字符串,則返回-1颁井。

lastindexOf()方法從尾部開始尋找對象中第一次出現(xiàn)子字符串的位置

    strObj.indexOf(substr[,startIndex]) 
    substr要在String對象中查找的子字符串厅贪。 
    startIndex該整數(shù)值指出在String對象內(nèi)開始查找的索引。如果省略蚤蔓,則從字符串的開始處查找卦溢。 
    var str = "ABCDECDF"; 
    str.indexOf("CD",1); // 由1位置從左向右查找 123... 結(jié)果:2 

8秀又、search方法返回與正則表達(dá)式查找內(nèi)容匹配的第一個字符串的位置单寂。

    strObj.search(reExp) 
    reExp包含正則表達(dá)式模式和可用標(biāo)志的正則表達(dá)式對象。 
    var str = "ABCDECDF"; 
    str.search("CD"); // 或 str.search(/CD/i); 結(jié)果:2 

9吐辙、concat方法返回字符串值宣决,該值包含了兩個或多個提供的字符串的連接。

    str.concat([string1[,string2...]]) 
    string1昏苏,string2要和所有其他指定的字符串進(jìn)行連接的String對象或文字尊沸。 
    var str = "ABCDEF"; 
    str.concat("ABCDEF","ABC"); 
    結(jié)果:ABCDEFABCDEFABC

10、Split將一個字符串分割為子字符串贤惯,然后將結(jié)果作為字符串?dāng)?shù)組返回洼专。

    strObj.split([separator[,limit]]) 
    separator字符串或 正則表達(dá)式 對象,它標(biāo)識了分隔字符串時使用的是一個還是   多個字符孵构。如果忽略該選項屁商,返回包含整個字符串的單一元素數(shù)組。 
    limit該值用來限制返回數(shù)組中的元素個數(shù)颈墅。 
    var str = "AA BB CC DD EE FF"; 
    alert(str.split(" "蜡镶,3)); 
    結(jié)果: AA,BB,CC 

11、 toLowerCase方法用于將一個字符串全部轉(zhuǎn)為小寫

toUpperCase則是全部轉(zhuǎn)為大寫恤筛。

它們都返回一個新字符串官还,不改變原字符串。

console.log(" hello word ".trim());
//hello world
console.log('Hello World'.toLowerCase());
// "hello world"
console.log('Hello World'.toUpperCase());
// "HELLO WORLD"

12毒坛、trim(): 用于去除字符串兩端的空白望伦,返回一個新字符串 不改變原數(shù)據(jù)

console.log(' hello world '.trim())林说; //hello word

13、replace 返回被替換的字符串

str.replace(rgExp/substr,replaceText)  

數(shù)組

數(shù)組的概念:有序的元素的集合 使用數(shù)字作為索引的一個對象 索引為從0開始的整數(shù)

創(chuàng)建方式

1屯伞、構(gòu)造數(shù)組 var arr = new Array()述么;

向數(shù)組中添加元素:數(shù)組[索引] = 值;
讀取數(shù)組 數(shù)組[索引] 當(dāng)索引值比數(shù)組長度大時愕掏,會返回undefined;
數(shù)組長度:數(shù)組.length;

var arr1 = new Array();
arr1[0] = 1;
arr1.length = 10;
console.log(arr1,arr1.length); //如果修改的length大于原長度顶伞,則多出部分會空出來饵撑;
arr1.length = 2;
console.log(arr1,arr1.length); //如果修改的length小于原長度,則多出的部分會刪除唆貌;

2滑潘、字面量創(chuàng)建數(shù)組 var arr = [];

中括號里邊可以直接添加元素(可以是任意類型的數(shù)據(jù)類型)锨咙;

數(shù)組的操作方法

1语卤、push() 可以接收任意數(shù)量的參數(shù),把他們逐個添加到數(shù)組末尾酪刀,并返回修改后數(shù)組的長度

2粹舵、Pop() 數(shù)組末尾移除最后一項,減少數(shù)組的LENGTH值骂倘,并返回被刪除的元素

3眼滤、Unshift() 在數(shù)組的頭部添加一個或者多個元素,返回增加后數(shù)組的長度

4历涝、Shift() 從數(shù)組的頭部刪除一個元素并返回這個刪除的元素诅需,如果數(shù)組為空則返回undefined;

5荧库、Slice()返回從原數(shù)組中指定開始下標(biāo)到結(jié)束下標(biāo)之間的項組成的新數(shù)組堰塌。

slice()方法可以接受一或兩個參數(shù),即要返回項的起始和結(jié)束位置分衫。
在只有一個參數(shù)的情況下场刑, slice()方法返回從該參數(shù)指定位置開始到當(dāng)前數(shù)組末尾的所有項。
如果有兩個參數(shù)丐箩,該方法返回起始和結(jié)束位置之間的項——但不包括結(jié)束位置的項摇邦。
var a = arr(0,2);
第二個參數(shù)可以是負(fù)值:則從后往前截取 -1:最后一個

6、splice:

刪除:可以刪除任意數(shù)量的項屎勘,只需指定 2 個參數(shù):要刪除的第一項的位置和要刪除的項數(shù)施籍。例如, splice(0,2)會刪除數(shù)組中的前兩項概漱。

插入:可以向指定位置插入任意數(shù)量的項丑慎,只需提供 3 個參數(shù):起始位置、 0(要刪除的項數(shù))和要插入的項。例如竿裂,splice(2,0,4,6)會從當(dāng)前數(shù)組的位置 2 開始插入4和6玉吁。

替換:可以向指定位置插入任意數(shù)量的項,且同時刪除任意數(shù)量的項腻异,只需指定 3 個參數(shù):起始位置进副、要刪除的項數(shù)和要插入的任意數(shù)量的項。插入的項數(shù)不必與刪除的項數(shù)相等悔常。例如影斑,splice (2,1,4,6)會刪除當(dāng)前數(shù)組位置 2 的項,然后再從位置 2 開始插入4和6机打。
splice()方法始終都會返回一個數(shù)組矫户,該數(shù)組中包含從原始數(shù)組中刪除的項,如果沒有刪除任何項残邀,則返回一個空數(shù)組皆辽。

7、join()

將數(shù)組的元素組成一個字符串
不會對原數(shù)據(jù)產(chǎn)生影響芥挣,會把轉(zhuǎn)化后的字符串作為結(jié)果返回
在join()中可以指定一個字符串作為參數(shù)驱闷,這個字符串將會作為數(shù)組中元素的連接符,如果不指定連接符九秀,默認(rèn)為逗號

8遗嗽、reverse():
用來反轉(zhuǎn)數(shù)組,前面的去后面鼓蜒,后面的去前面痹换;

9、Sort() 對數(shù)組成員進(jìn)行排序都弹,默認(rèn)按照字典順序排序娇豫,原數(shù)組會改變

arr.sort(function (a,b){
return a-b;//升序
})

sort的參數(shù)函數(shù)本身接受兩個參數(shù),表示進(jìn)行比較的兩個數(shù)組成員畅厢。如果該函數(shù)的返回值大于0冯痢,表示第一個成員排在第二個成員后面;其他情況下框杜,都是第一個元素排在第二個元素前面

10浦楣、concat() :將參數(shù)添加到原數(shù)組中。

這個方法會先創(chuàng)建當(dāng)前數(shù)組一個副本咪辱,然后將接收到的參數(shù)添加到這個副本的末尾振劳,最后返回新構(gòu)建的數(shù)組。在沒有給 concat()方法傳遞參數(shù)的情況下油狂,它只是復(fù)制當(dāng)前數(shù)組并返回副本历恐。 

11寸癌、indexOf():接收兩個參數(shù):要查找的項和(可選的)表示查找起點(diǎn)位置的索引。其中弱贼, 從數(shù)組的開頭(位置 0)開始向后查找蒸苇。

12、lastIndexOf:接收兩個參數(shù):要查找的項和(可選的)表示查找起點(diǎn)位置的索引吮旅。其中溪烤, 從數(shù)組的末尾開始向前查找。

這兩個方法都返回要查找的項在數(shù)組中的位置庇勃,或者在沒找到的情況下返回-1氛什。在比較第一個參數(shù)與數(shù)組中的每一項時,會使用全等操作符匪凉。

13、forEach():對數(shù)組進(jìn)行遍歷循環(huán)捺檬,對數(shù)組中的每一項運(yùn)行給定函數(shù)再层。這個方法沒有返回值。參數(shù)都是function類型堡纬,默認(rèn)有傳參聂受,參數(shù)分別為:遍歷的數(shù)組內(nèi)容;對應(yīng)的數(shù)組索引烤镐,數(shù)組本身蛋济。

var arr = [1,2,6,4];//1 0 true;2 1  true炮叶;6 2 true碗旅;4 3 true
arr.forEach(function (x,index,a){
    console.log(x+" "+index+" "+(a===arr));
})

14、map():指“映射”镜悉,對數(shù)組中的每一項運(yùn)行給定函數(shù)祟辟,返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組。

var arr1 = [32,5,11,12];
var arr = arr1.map(function (x){
    return x+3
})
console.log(arr);  //[35,8,14,15]

15侣肄、filter(): 用于過濾數(shù)組成員旧困,滿足條件的成員組成一個 新數(shù)組返回 原數(shù)組不變
它的參數(shù)是一個函數(shù),所有數(shù)組成員一次執(zhí)行稼锅,返回結(jié)果為 true 的元素組成一個新數(shù)組返回
第一個參數(shù):當(dāng)前成員
第二個參數(shù):當(dāng)前成員的索引
第三個參數(shù):整個數(shù)組

var arr2 = [21,152,66,565];
var arr3 = arr2.filter(function (x,index){
    return x % 3 == 0;
})
console.log(arr3);//[21,66];

15吼具、every():判斷數(shù)組中每一項都是否滿足條件,只有所有項都滿足條件矩距,才會返回true拗盒。

16、some():判斷數(shù)組中是否存在滿足條件的項剩晴,只要有一項滿足條件锣咒,就會返回true侵状。

 //every
var arr4 = [26,641,15312,63,1];
var arr5 = arr4.every(function (x){
    return x > 1;
})
console.log(arr5);//false
//some
var arr7 = arr4.some(function (x){
    return x > 1;
})
console.log(arr7);//true

17、reduce(): 將內(nèi)部的返回值作為實參傳遞第一個形參毅整,進(jìn)行下一次運(yùn)算

var arr =[1,2,3,5]
var sum = arr.reduce(function(a,b){
return a+b;
});
console.log(sum); //1+2+3+5=11
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末趣兄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子悼嫉,更是在濱河造成了極大的恐慌艇潭,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件戏蔑,死亡現(xiàn)場離奇詭異蹋凝,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)总棵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門鳍寂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人情龄,你說我怎么就攤上這事迄汛。” “怎么了骤视?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵鞍爱,是天一觀的道長。 經(jīng)常有香客問我专酗,道長睹逃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任祷肯,我火速辦了婚禮沉填,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘佑笋。我一直安慰自己拜轨,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布允青。 她就那樣靜靜地躺著橄碾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪颠锉。 梳的紋絲不亂的頭發(fā)上法牲,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機(jī)與錄音琼掠,去河邊找鬼拒垃。 笑死,一個胖子當(dāng)著我的面吹牛瓷蛙,可吹牛的內(nèi)容都是我干的悼瓮。 我是一名探鬼主播戈毒,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼横堡!你這毒婦竟也來了埋市?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤命贴,失蹤者是張志新(化名)和其女友劉穎道宅,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胸蛛,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡污茵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了葬项。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泞当。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖民珍,靈堂內(nèi)的尸體忽然破棺而出零蓉,到底是詐尸還是另有隱情,我是刑警寧澤穷缤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站箩兽,受9級特大地震影響津肛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜汗贫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一身坐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧落包,春花似錦部蛇、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至有序,卻和暖如春抹腿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背旭寿。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工警绩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盅称。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓肩祥,卻偏偏與公主長得像后室,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子混狠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

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