數組和字符串的原型具有功能slice
在JavaScript,下面演示:
「1234567890'.slice(1,-1); //字符串 '1234567890'.split('')。slice(1,-1); // array
但是slice
沒有名爲step
的參數。我們應該爲它做一個包裝。
在Python中,我們採用分片這樣的:
a = '1234567890';
a[1:-1:2];
這裏就像是巨蟒,命名爲slice.js
項目的包裝,並使其在JS蟒蛇切片啓用,包括step
。
npm i --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'
兩個指數(參數)都是_zero-based_。所以你的代碼是不正確的。爲了得到''w''(與OP想要的一樣),應該使用's2.slice(-1)'。 – hindmost
它適用於所需的輸出:tackoverflow,就像你在編輯中看到的一樣。它提供了相同的輸出作爲接受的答案 –