2016年12月24日 星期六

slice、substring、substr 差別


let data = '0123456789';
    
console.log('一個參數');
console.log(data.slice(4)); // 456789
console.log(data.substring(4)); // 456789
console.log(data.substr(4)); // 456789
console.log('---------------');
console.log('二個參數-正數');
console.log(data.slice(1, 4)); // 123-->從index 1到index4,但最後的不算,所以是1~3
console.log(data.substring(1, 4)); // 123-->同slice
console.log(data.substr(1, 4)); // 1234-->從index 1開始取4個
console.log('---------------');
console.log('二個參數-負數小~大');
console.log(data.slice(-2, 4)); // 空-->不支援,但也不報錯
console.log(data.substring(-2, 4)); // 0123-->等同(0, 4),也就是不支援負的
console.log(data.substr(-2, 4)); // 89-->index 9也等於-1,所以從8開始取4個,但只取到兩個就結束了
console.log('---------------');
console.log('二個參數-負數大~小');
console.log(data.slice(4, -2)); // 4567-->從index 4開始,-2表示最後兩個不算
console.log(data.substring(4, -2)); // 0123-->等同(-2, 4),但因為不支援負的,所以又等同(0, 4)
console.log(data.substr(4, -2)); // 空-->不支援,但也不報錯

※結果:
一個參數
456789
456789
456789
---------------
二個參數-正數
123
123
1234
---------------
二個參數-負數小~大

0123
89
---------------
二個參數-負數大~小
4567
0123



沒有留言:

張貼留言