Computer >> Máy Tính >  >> Lập trình >> Javascript

JavaScript Tách chuỗi theo phần tử mảng đã cho

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']