經常使用數組、字符串的方法(詳解)

一、indexOf( 數組 ||  字符串 );    做用:返回數組中某個指定元素的位置 (下標)。

('item',['start']) 兩個參數:正則表達式

item: 必選、查找的元素。
start: 可選參數,規定在字符串中開始檢索的位置,它的合法取值是StringObject.legth-1如省略該參數,則從字符串首字符開始檢索。

返回值: Number類型
元素在數組中的位置,若是沒有搜索到則返回 -1 。

兼容:全部主流瀏覽器都支持 indexOf()方法,IE8及如下不支持該方法。數組

 

二、slice( 數組 || 字符串 );    做用:該方法是對數組的部分截取,並返回一個數組副本;

 ('start',['end']) 兩個參數  :瀏覽器

start:參數start是截取的開始數組索引
end :可選參數end是你要截取的最後一個字符的 位置值 加上 1 。函數

>(1) :若是傳入的參數是一個,那麼將從參數一的索引位置開始截取,一直到數組尾;

>(2) :若是傳入的參數是一個,而且是一個負數的話,那麼他會從數組的後面開始截取;編碼

>(3) :若是傳入的參數是一個,而且是一個負數的話,而且它的絕對值大於或等於數組的 length ,那麼他會截取整個數組。spa

>(4) :若是兩個參數都是負數的話,前面的參數小於後面的參數。 code

注:位置是固定好的,從左往右找,不包含結尾位置的字符。regexp

 

三、substr();   做用:在字符串中抽取從 start 下標開始的指定數目的字符。

(start,length)兩個參數:對象

start:必須參數、必須是數值。若是是負數,那麼該參數聲明從字符串的尾部開始算起的位置。blog

length:必須參數、子串中的字符數。必須是數值。若是省略了該參數,那麼返回從 stringObject 的開始位置到結尾的字串

返回值:一個新的字符串。不改變原字符串。

注:ECMAscript 沒有對該方法進行標準化,所以反對使用它。

var str="I Love You !"
alert(str.substr(2,3));
alert(str); 

四、substring() 做用:用於提取字符串中介於兩個指定下標之間的字符。

 (start,stop) 兩個參數:

start:必需。一個非負的整數,規定要提取的子串的第一個字符在 stringObject 中的位置。

 stop:可選。最後一個被提取的字符,不包含最後一個。

返回值:一個新的字符串。不改變原字符串。

  注:與 slice() 和 substr() 方法不一樣的是,substring() 不接受負的參數。

var str="I Love You !";
alert(str.substring(2,3));
alert(str);

五、 splice(數組);  做用:該方法是從一個數組中刪除一個或多個元素,並用新的item替換他們;

('start','deleteCount','item...')  三個參數

:start是從數組元素刪除開始的位置;
:deleteCount刪除元素的個數;
:item替換刪除掉的元素(能夠是多個元素);

返回值:被刪除掉的元素。

六、split(字符串); 做用:把字符串分割成片斷來建立一個字符串數組。

('separator','limit') 兩個參數

: separator參數可使一個字符串或一個正則表達式;
:limit限制被分割的片斷數量;

slice() 、 splice()  、 split() 區別:   slice() 和 split() 改變的都是副本,splice() 返回的修改後的內容。

七、for in 循環; 做用:用於遍歷數組或者對象的屬性(對數組或者對象的屬性進行循環操做);

語法: for(變量 in 對象)
{
執行的代碼;
}

判斷一個對象是否能夠用for...in 來窮舉: propertyIsEnumerable();

('proName')一個參數   :

proName一個屬性名稱的字符串的值。

返回值:Boolean類型 true表示能夠窮舉
false表示不能夠窮舉

八、push(數組);  做用:從尾部添加一個或多個元素

('newEleament1',['newEleament2'],['newEleament3'])多個參數

:newEleament1 添加的第一個參數。
:newEleament2 添加的第二個參數。
:newEleament3 添加的第三個參數。

返回值:Number    返回數組的新長度;

九、unshift(數組); 做用:向數組的開頭添加一個或多個元素

('newEleament1',['newEleament2'],['newEleament3'])多個參數

: newEleament1 添加的第一個參數。
:newEleament2 添加的第二個參數。
:newEleament3 添加的第三個參數。

返回值:Number    返回數組的新長度;

兼容:沒法兼容IE瀏覽器。

十、pop(數組);  做用:用於刪除數組的最後一個元素。

沒有參數

返回值:返回最後被刪除的一個元素;

注:若是數組已爲空,不改變數組的長度,返回undefiend;

十一、shift(數組);  做用:把數組的第一個元素刪除;

沒有參數

返回值:返回最後一個被刪除的值;

注:若是數組爲空,shift()不作任何操做;返回undefined;

十二、concat(數組 || 字符串 );  做用:把兩個或多個數組鏈接起來;

('arrX1','arrX2',['arrX3'])多個參數:

返回值:不會改變現有數組,只會返回一個鏈接的數組的一個副本。

var ccc =['q','3','e'];
var ccc2 =['q','3','e'];
console.log(ccc.concat(ccc2));

1三、join(數組);   做用:把數組中的全部元素放入一個字符串中;

(['separator'])一個參數:

separator:指定要使用的分隔符。若是省略默認爲逗號爲分隔符。

返回值:一個字符串,該字符串是把數組中的全部元素轉換爲字符串類型。,再經過指定的分隔符鏈接起來。

1四、sort(數組); 做用:用於數組的排序。

(['sortby'])一個參數:

 sortby:規定排序順序,必須是函數。

返回值:對數組的引用,在原數組上排序,不生成副本。

1>若是調用該方法沒有參數,則按照字母順序進行排序。跟準確的來講是按照字符集編碼來排序的。要實現這一點要先把數組的元素都變成字符串,以便進行比較
2> 若是按照其餘標準來排序,則須要提供比較函數,該函數要比較兩個值,而後返回一個用於說明這兩個值的相對順序的數字。

比較函數應該具備兩個參數a和b,其返回值以下:

. 若a<b ,則排序後的數組中a應該出如今b的前面,則返回一個小於0的值。
. 若a==b ,則返回0。
. 若a>b ,則返回一個大於0的值。

返回值:對數組的引用,數組在原數組上進行排序,不生成副本。

function sortNumber(a,b)
                {
                        return a-b;       //第一個參數減第二個參數:升序
                                        //第二個參數減第一個參數:降序
                }
                alert(Number2.sort(sortNumber));

1五、charAt(字符串);  做用:返回指定位置的字符。

('index')一個參數:

index表示字符串中某個位置的數字。即字符串的下標。

注:若是index不在0---string.length之間,該方法返回一個空字符串。

返回值:查找的字符。

1六、instanceof 

操做符應該僅僅用來比較來自同一個 JavaScript 上下文的自定義對象。 正如 typeof 操做符同樣,任何其它的用法都應該是避免的。

1七、charCodeAt(字符串);  做用:返回指定的字符unicode 編碼。這個返回值是   0---65535   之間的整數。

('index')一個參數: index表示字符串中某個字符的下標。

注:若是字符串的下標大於等於字符串的長度,則返回一個NaN.

 1八、fromCharCode(字符串);  做用:接受一個指定的unicode編碼,而後返回一個字符串。

('numX','numX','numX'...)多個參數:

numX 是Unicode 值,即要建立的字符串中的字符的 Unicode 編碼。

返回值:返回一個字符串。

注:該方法是String的靜態方法,字符串中的每一個字符串都是由單獨的數字Unicode編碼。
它不能做爲您已建立的 String 對象的方法來使用。所以它的語法應該是 String.fromCharCode()。

var arr="我愛你";
arr.charCodeAt(1);
console.log(arr.charCodeAt(1));
String.fromCharCode('29233');
console.log(String.fromCharCode('29233'));

1九、match(字符串);   做用:在字符串中檢索指定的值,或者找到一個或多個正則表達式的匹配。

('searchvalue','regexp')兩個參數(取其中一個):

 searchvalue規定要檢索的字符串。

regexp規定要匹配的模式RegExp對象。若是該參數不是RegExp對象,則須要首先把它傳遞給RegExp構造函數
將其轉換爲RegExp對象。

返回值:一、若是是檢索指定的值,則返回指定值的下標。
    二、若是沒有找到檢索的值,則返回null。
    三、若是找到了一個或多個匹配子串,則返回一個數組。不過全局匹配返回的數組的內容與前者大不相同,它的數組元素中存放的是 stringObject 中全部的匹配子串,並且也沒有 index 屬性或 input 屬性。
    四、若是沒找到則返回null。

var str="1 plus 2 equal 3"
                document.write(str.match(/\d+/g))
                console.log(str.match(/\d+/g));

20、replace(字符串);  做用:用於把一些字符替換另外一些字符,或替換一個正則表達式匹配的子串。

語法:stringObject.replace(regexp/substr,replacement) 

regexp/substr規定子字符串或要替換的模式的RegExp對象。
replacement規定替換文本或生成替換文本的函數。

返回值:替換以後的一個新的字符串。

2一、toUpperCase(字符串);   做用:把字符串轉換爲大寫。

沒有參數
返回值:一個新的字符串,String裏面的小寫字符全變成大寫的。不改變原有字符串。

             var str="fefefJJLKJKLJ";
             alert(str.toUpperCase());
             alert(str);

2二、toLowerCase();  做用:把字符串轉換成小寫。

沒有參數
返回值:一個新的字符串,String裏面的大寫全轉換成小寫字母。不改變原字符串。

 var str="fefefJJLKJKLJ"; alert(str.toLowerCase()); 
相關文章
相關標籤/搜索