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


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

('item',['start']) 兩個參數:

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

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

兼容:所有主流瀏覽器都支持 indexOf()方法,IE8及以下不支持該方法。

 

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

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

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

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

>(2) :如果傳入的參數是一個,並且是一個負數的話,那么他會從數組的后面開始截取;

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

>(4) :如果兩個參數都是負數的話,前面的參數小於后面的參數。

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

 

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

(start,length)兩個參數:

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

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

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

注:ECMAscript 沒有對該方法進行標准化,因此反對使用它。

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

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

 (start,stop) 兩個參數:

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

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

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

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

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

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

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

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

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

6、split(字符串); 作用:把字符串分割成片段來創建一個字符串數組。

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

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

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

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

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

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

('proName')一個參數   :

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

返回值:Boolean類型 true表示可以窮舉
false表示不可以窮舉

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

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

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

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

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

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

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

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

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

10、pop(數組);  作用:用於刪除數組的最后一個元素。

沒有參數

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

注:如果數組已為空,不改變數組的長度,返回undefiend;

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

沒有參數

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

注:如果數組為空,shift()不做任何操作;返回undefined;

12、concat(數組 || 字符串 );  作用:把兩個或多個數組連接起來;

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

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

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

13、join(數組);   作用:把數組中的所有元素放入一個字符串中;

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

separator:指定要使用的分隔符。如果省略默認為逗號為分隔符。

返回值:一個字符串,該字符串是把數組中的所有元素轉換為字符串類型。,再通過指定的分隔符連接起來。

14、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));

15、charAt(字符串);  作用:返回指定位置的字符。

('index')一個參數:

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

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

返回值:查找的字符。

16、instanceof 

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

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

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

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

 18、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'));

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

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

 searchvalue規定要檢索的字符串。

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

返回值:1、如果是檢索指定的值,則返回指定值的下標。
    2、如果沒有找到檢索的值,則返回null。
    3、如果找到了一個或多個匹配子串,則返回一個數組。不過全局匹配返回的數組的內容與前者大不相同,它的數組元素中存放的是 stringObject 中所有的匹配子串,而且也沒有 index 屬性或 input 屬性。
    4、如果沒找到則返回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規定替換文本或生成替換文本的函數。

返回值:替換之后的一個新的字符串。

21、toUpperCase(字符串);   作用:把字符串轉換為大寫。

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

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

22、toLowerCase();  作用:把字符串轉換成小寫。

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM