1. 程式人生 > 實用技巧 >JavaScript之字串以及陣列的方法

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的元素不是字串,將自動轉換為字串後再連線