JS中陣列和字串方法的簡單整理
阿新 • • 發佈:2019-01-12
一、陣列:
陣列的基本方法:
1、增:arr.unshift() /push() 前增/後增
2、刪:arr.shift() /pop() 前刪/後刪
3、改:arr.splice(開始下標,刪除的長度,增加的元素,增加的元素)
注:增加元素時,刪除的長度為0
4、截: arr.slice(開始下標,結束下標)
5、拼:arr.concat(元素,元素,元素)
注:拼接到新陣列的末尾,如果是陣列就開啟拼接。
6、復:forin / slice / concat / map /forEach
注: ES5新增的複製方法都沒for迴圈效率高
(變數
ES5拓展陣列方法
1、indexOf(查詢的元素,開始查詢的下標):從某個下標開始查詢這個元素第一次出現的位置。 查不到返回-1。
2、 lastindexOf(查詢的元素,下標): 從後往前查詢
3、forEach() 遍歷陣列 (無返回值)
陣列名.forEach(function(value,index,arr){
(陣列元素,陣列下標,整個陣列)
語句組;
})
4、map(function(value,index,arr){return ...}) //遍歷陣列(有返回值)
var list = arr.map(function(value,index,arr){
return value;
})
forEach和map方法只能遍歷陣列,forin遍歷陣列和物件。
5、reduce(function(prev,next,index,array){return ...}) // 歸併 (有返回值)
注:先第一個數賦值prev,再取第二個數賦值next,然後prev與next進行運算,運算後的值再賦給prev,next繼承取下一數。
用於求和,階乘
var arr = [1,2,3,4];
var list = arr.reduce(function(prev,next,index,array){
return prev * next;
})
6、filter(function(value,index,arr{return ...}) //過濾 (有返回值)
var arr = [1,6,4,4,8,9,33];
var list =arr.filter(function(value){
return value >6
})
console.log(list) // 8,9,13
(ES5的方法都不影響元素組)
二、字串:
字串的方法:
1、 查:
charAt(index):根據 下標查詢指定的字元 下表找不到時,輸出 空。
charCodeAt(index):根據下標查詢指定的字元的編碼值 。下標超出範圍時,輸出NAN
2、 替:
replace(舊串,新串)
替換成新的字串, 一次只能替換一個
3、截:後面的end不截 substring:(start,end) 支援引數互換(3,4)(4,3)
substr:(start,length)
slice:(start,end) 支援負數(從右往左數,-1至-10等等)
4、轉:
toUpperCase():小寫字母轉大寫字母
toLowerCase():大寫字母轉小寫字母
split(分隔符,擷取的長度) : 將字串轉為陣列
字串拓展方法:
1、字串物件.match(正則表示式) : 如果字串中包含了正則表示式的內容,返回陣列,否則,返回null,
2、字串物件.search(正則表示式) : 類似於indexOf(),查詢正則匹配的內容在字串中第一次出現的下標位置,如果沒有找到,返回-1
3、字串物件.replace()
4、靜態方法:
String.fromCharCode(編碼):將編碼轉成字元
靜態方法:格式 建構函式.方法 String.fromCharCode。
物件方法:格式 物件.方法 arr.push
for
in
物件){
在此執行程式碼
}
7、排: arr.reverse() 逆序輸出
arr.sort([a-b])該方法沒有引數時按照字元編碼的順序進行排序 a-b<0 數字從小到大排序 a-b>0從大到小排序
8、轉:arr.toString() 轉為以逗號分隔的字串 / 轉換進位制
arr.join('分隔符')
(截、拼、轉不影響原陣列)