字元串 substring 形式:substring(index1, index2) 不會改變原始字元串 將小的參數作為開始位置 start,大的作為結束位置 stop 包含 start,但不包含 stop 如果只給一個參數表示從它 start 截取到字元串結尾 如果某個參數為負,會先將負數變為 0 ...
字元串
substring
形式:substring(index1, index2)
- 不會改變原始字元串
- 將小的參數作為開始位置
start
,大的作為結束位置stop
- 包含
start
,但不包含stop
- 如果只給一個參數表示從它
start
截取到字元串結尾 - 如果某個參數為負,會先將負數變為 0,並以它為
start
var str = "0123456789";
console.log(str.substring(1, 5)); // "1234"
console.log(str.substring(8, 4)); // "4567"
console.log(str.substring(1)); // "123456789"
console.log(str.substring(-2, 6)); // "012345"
console.log(str); // "0123456789"
substr
形式:substr(start, length)
- 不會改變原始字元串
- 如果缺
length
,表示從start
截取到字元串結尾 - 如果
start
為負數,那麼start = str.length + start
- 如果
length
為負數或者 0,那麼返回空字元串
var str = "0123456789";
console.log(str.substr(1, 5)); // "12345"
console.log(str.substr(4)); // "456789"
console.log(str.substr(-3)); // "789"
console.log(str.substr(4, 0)); // ""
console.log(str.substr(4, -2)); // ""
console.log(str); // "0123456789"
數組
splice
形式:substr(start, length, *args)
- 會改變原始數組
- 從指定的索引開始刪除若幹元素,再從該位置添加若幹元素
var arr = [0,1,2,3,4,5,6,7,8,9];
console.log(arr.splice(2, 3, 12, 13)); // 返回刪除的元素 [2,3,4]
console.log(arr); // [0,1,12,13,5,6,7,8,9]
console.log(arr.splice(2, 3)); // [12,13,5]
console.log(arr); // [0,1,6,7,8,9]
console.log(arr.splice(2, 0, 22, 23)); // 返回[],沒有刪除任何元素
console.log(arr); // [0,1,22,23,6,7,8,9]
數組&字元串
slice
形式:slice(start, stop)
- 不會改變原始數組/字元串
- 包含
start
,但不包含stop
- 如果只給一個參數表示從它
start
截取到字元串結尾 - 如果
start
比stop
大(不會互換),或start
與stop
相等,則截取為空 - 如果
start
為負數,那麼start = str.length + start
var str = "0123456789";
var arr = [0,1,2,3,4,5,6,7,8,9];
console.log(str.slice(1, 6)); // "12345"
console.log(arr.slice(1, 6)); // [1,2,3,4,5]
console.log(str.slice(2)); // "23456789"
console.log(arr.slice(2)); // [2,3,4,5,6,7,8,9]
console.log(str.slice(3,3)); // ""
console.log(arr.slice(3,3)); // []
console.log(str.slice(6,5)); // ""
console.log(arr.slice(6,5)); // []
console.log(str.slice(6,-1)); // "678"