Giả sử, chúng ta được cung cấp một chuỗi và một mảng. Công việc của chúng ta là chia chuỗi theo các phần tử tương ứng của mảng. Ví dụ -
Đầu vào
const string = 'Javascript splitting string by given array element'; const arr = [2, 4, 5, 1, 3, 1, 2, 3, 7, 2];
Đầu ra
['Ja','vasc','ript ','s','pli','t','ti','ng ','string ','by']
Hãy viết một hàm, chẳng hạn như splitAtPosition nhận vào chuỗi và mảng, đồng thời sử dụng phương thức theArray.Prototype.reduce () để trả về mảng đã tách.
Mã cho chức năng này sẽ là -
Ví dụ
const string = 'Javascript splitting string by given array element'; const arr = [2, 4, 5, 1, 3, 1, 2, 3, 7, 2]; const splitAtPosition = (str, arr) => { const newString = arr.reduce((acc, val) => { return { start: acc.start + val, newArr: acc.newArr.concat(str.substr(acc.start, val)) } }, { start: 0, newArr: [] }); return newString.newArr; }; console.log(splitAtPosition(string, arr));
Đầu ra
Đầu ra trong bảng điều khiển sẽ là -
['Ja','vasc','ript ','s','pli','t','ti','ng ','string ','by']