string和array作為javascript內置對象,其中許多方法無論是在開發過程中,還是在面試的時候都有機會被面試官問到,這里對經常用到的方法做一個介紹,這些方法都有過很多的實際應用場景,所以對它們的掌握還是非常有必要的。
1、Array數組常用方法?
先創建一個數組var abc = [1,2,3,4,5,6,7,8,9];
(1)pop(); 這個方法會刪除數組的最后一項並返回刪除掉的值。
比如:console.log(abc.pop());//9; console.log(abc); //[1,2,3,4,5,6,7,8];
(2)push(); 這個方法會往數組的最后面添加一個值並返回添加的值。
比如:console.log(abc.push(10));//10; console.log(abc); //[1,2,3,4,5,6,7,8,9,10];
(3)shift(); 這個方法會刪除數組的第一項並返回刪除掉的值。
比如:console.log(abc.shift());//1; console.log(abc); //[2,3,4,5,6,7,8,9];
(4)unshift(); 這個方法會在數組的第一項前添加一個值並返回數組的長度。
比如:console.log(abc.unshift(0));//10; console.log(abc); //[0,1,2,3,4,5,6,7,8,9];
(5)reverse(); 反轉數組順序。
比如:abc.reverse(); console.log(abc); // [9,8,7,6,5,4,3,2,1];
(6)sort(); 數組排序,不過是按照字符串的方式來排序。
比如: var abb = [0,1,5,10,15]; abb.sort(); console.log(abb); //[0,1,10,15,5];
(7)concat(); 該方法可以基與當前數組中的所有項創建一個新數組。
比如:var colors = ["red","blue","yellow"]; var colors2 = colors.concat("black","orange"); //["red", "blue", "yellow", "black", "orange"];
(8)slice();該方法可以理解為截取數組,接受2個參數,只填一個參數代表從該位置截取到最后,填兩個參數代表要截取的頭和尾的位置,但是取頭不取尾。
比如:var colors = ["red", "blue", "yellow", "black", "orange"];
colors.slice(1);//["blue", "yellow", "black", "orange"];
colors.slice(1,3);//["blue", "yellow"];
(9)splice(); splice是數組當中最強大的方法了,其用法用很多。
刪除:可以刪除任意數量的項,只需要指定2個參數。例如splice(0,2);會刪除數組中的前面兩項。
插入:可以向指定的位置插入任意數量的項,比如:splice(2,0,"red”,"blue”)會從數組的第二個位置開始添加red和blue兩項。
替換:可以刪除指定的位置的項並插入任意數量的項,比如:splice(2,2,"red”,"blue”)會從數組的第二個位置刪除兩項並添加red和blue兩項。
splice()始終返回一個數組,該數組從原始數組中刪除的項,沒有的話就返回空數組。
(10)indexOf(); 該方法用來檢索某項數組出現的位置,出現多次的話只記錄第一次出現的位置。
比如:var abc = [1,2,3,4,5,6,7,8,9]; abc.indexOf(5); //4;
注:如果沒有檢索到值的話會返回-1;
比如:var abc = [1,2,3,4,5,6,7,8,9]; abc.indexOf(-10); //-1;
(11)join();將數組轉化為字符串,括號內標識連接的方式。
比如:var abc = ["red","blue","green","yellow"]; abc.join("+"); //"red+blue+green+yellow";
2、String字符串常用方法?
首先創一個字符串 var abc = “helloworld”;
(1)charAt();該方法會返回對應位置所在的字符。
比如:console.log(abc.charAt(1)); //e
(2)concat(); 拼接字符串;
比如 var a = "hello"; a.concat("world"); // helloworld;
(3)slice(); 截取字符串;接受2個參數,只填一個參數代表從該位置截取到最后,填兩個參數代表要截取的頭和尾的位置,但是取頭不取尾。
(4)substring(); 截取字符串;接受2個參數,只填一個參數代表從該位置截取到最后,填兩個參數代表要截取的頭和尾的位置,但是取頭不取尾。
注:slice和substring的區別在於他們的參數為負數的時候,slice會把負數與字符串的長度相加,而substring會把負數轉化為0。
比如 var a = "hello"; a.slice(-3) = a.slice(2); //llo;
var a = "hello"; a.substring(-3) = a.substring(0); //hello;
(5)substr(); 截取字符串;接受2個參數,只填一個參數代表從該位置截取到最后,填兩個參數代表要截取的開始位置和長度;
比如 var a = “helloworld”; a.substr(3,7); //代表截取字符串第三個位置開始截取7個字符串,故返回"loworld";
(6)indexOf(); 該方法用來檢索某個字符出現的位置。
(7)toLocaleUpperCase(); 字符串轉大寫。
(8)toLocaleLowerCase(); 字符串轉小寫。
(9)split(); 切割字符串並放在一個數組中,括號內表示切割的標識。
比如: var abc = "red,blue,green,yellow"; abc.split(","); // ["red","blue","green","yellow"];
