请参阅 Array.prototype.slice 和 String.prototype.slice。
'1234567890'.slice(1, -1); // String
'1234567890'.split('').slice(1, -1); // Array
但是,Python 切片有步骤:
'1234567890'[1:-1:2]
但是*.prototype.slice 没有step 参数。为了解决这个问题,我写了slice.js。安装:
npm install --save slice.js
示例用法:
import slice from 'slice.js';
// for array
const arr = slice([1, '2', 3, '4', 5, '6', 7, '8', 9, '0']);
arr['2:5']; // [3, '4', 5]
arr[':-2']; // [1, '2', 3, '4', 5, '6', 7, '8']
arr['-2:']; // [9, '0']
arr['1:5:2']; // ['2', '4']
arr['5:1:-2']; // ['6', '4']
// for string
const str = slice('1234567890');
str['2:5']; // '345'
str[':-2']; // '12345678'
str['-2:']; // '90'
str['1:5:2']; // '24'
str['5:1:-2']; // '64'