JavaScript之字串以及陣列的方法
字串
JavaScript的字串用''
或""
括起來表示
如果字串內部既包含'
又包含"
可以用轉義字元\
來標識,比如:
'I\'m \"OK\"!';
表示的內容是:I'm "OK"!
轉義字元\
可以轉義很多字元,比如\n
表示換行,\t
表示製表符,字元\
本身也要轉義,所以\\
表示的字元就是\
。
ASCII字元可以以\x##
形式的十六進位制表示,例如:
'\x41'; // 等同於 'A'
還可以用\u####
表示一個Unicode字元:
'\u4e2d\u6587'; // 完全等同於 '中文'
字串連線可以用+號或者用${變數名}替換比如:
var name = '小明';
var age = 20;
var message = `你好, ${name}, 你今年${age}歲了!`;
字串的方法
#.length 長度 同樣也可以通過索引檢視某個位置的字元
#.toUpperCase() 變成大寫
#.toLowerCase() 變成小寫
#.indexOf() 搜尋字元出現位置
#.substring() 返回索引區間字元
陣列方法
同樣通過#.length檢視長度 並且可以賦值例如:
var arr = [1, 2, 3];
arr.length; // 3
arr.length = 6;
arr; // arr變為[1, 2, 3, undefined, undefined, undefined]
arr.length = 2;
arr; // arr變為[1, 2]
可以通過索引修改值,索引超過了範圍,同樣會引起Array
var arr = [1, 2, 3];
arr[5] = 'x';
arr; // arr變為[1, 2, 3, undefined, undefined, 'x']
#.indexOf()檢視元素位置,沒有找到的返回-1
#.slice()就是對應String的substring()
版本,它擷取Array
的部分元素,然後返回一個新的Array
如果不給slice()
傳遞任何引數,它就會從頭到尾擷取所有元素。利用這一點,我們可以很容易地複製一個Array
:
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
var aCopy = arr.slice();
aCopy; // ['A', 'B', 'C', 'D', 'E', 'F', 'G']
aCopy === arr; // false
#.puh()向Array
的末尾新增若干元素,#.pop()則把Array
的最後一個元素刪除掉並且返回:
#.unshift()
方法往Array
的頭部新增若干元素,#.shift()
方法則把Array
的第一個元素刪掉返回:
#.sort()方法排序, #.reverse()反轉
#.sqlice()方法是修改Array
的“萬能方法”,它可以從指定的索引開始刪除若干元素,然後再從該位置新增若干元素
var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle'];
// 從索引2開始刪除3個元素,然後再新增兩個元素:
arr.splice(2, 3, 'Google', 'Facebook'); // 返回刪除的元素 ['Yahoo', 'AOL', 'Excite']
arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
// 只刪除,不新增:
arr.splice(2, 2); // ['Google', 'Facebook']
arr; // ['Microsoft', 'Apple', 'Oracle']
// 只新增,不刪除:
arr.splice(2, 0, 'Google', 'Facebook'); // 返回[],因為沒有刪除任何元素
arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
#.concat把當前的Array
和另一個Array
連線起來,並返回一個新的Array
:
var arr = ['A', 'B', 'C'];
var added = arr.concat([1, 2, 3]);
added; // ['A', 'B', 'C', 1, 2, 3]
arr; // ['A', 'B', 'C']
請注意,concat()
方法並沒有修改當前Array
,而是返回了一個新的Array
。
concat()
方法可以接收任意個元素和Array
,並且自動把Array
拆開,然後全部新增到新的Array
裡:
var arr = ['A', 'B', 'C'];
arr.concat(1, 2, [3, 4]); // ['A', 'B', 'C', 1, 2, 3, 4]
#.join()
方法把當前Array
的每個元素都用指定的字串連線起來,然後返回連線後的字串:
var arr = ['A', 'B', 'C', 1, 2, 3];
arr.join('-'); // 'A-B-C-1-2-3'
如果Array
的元素不是字串,將自動轉換為字串後再連線