數(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() 方法里的負值是代表從右截取,其他方法里的負值一律作為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為負,將它作為length+start處理,此處length為字符串的長度。 

end小標(biāo)從0開始的strObj指定部分結(jié)束索引。如果end為負,將它作為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兩者中的較小值作為子字符串的起始點。如果start或end為NaN或者為負數(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方法返回與正則表達式查找內(nèi)容匹配的第一個字符串的位置。

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

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

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

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

    strObj.split([separator[,limit]]) 
    separator字符串或 正則表達式 對象,它標(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ù)可以是負值:則從后往前截取 -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ù)組中元素的連接符,如果不指定連接符,默認為逗號

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

9、Sort() 對數(shù)組成員進行排序,默認按照字典順序排序,原數(shù)組會改變

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

sort的參數(shù)函數(shù)本身接受兩個參數(shù),表示進行比較的兩個數(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ù):要查找的項和(可選的)表示查找起點位置的索引。其中, 從數(shù)組的開頭(位置 0)開始向后查找。

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

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

13、forEach():對數(shù)組進行遍歷循環(huán),對數(shù)組中的每一項運行給定函數(shù)。這個方法沒有返回值。參數(shù)都是function類型,默認有傳參,參數(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ù)組中的每一項運行給定函數(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)部的返回值作為實參傳遞第一個形參,進行下一次運算

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)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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