Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript 주어진 배열 요소로 문자열 분할

<시간/>

예를 들어 문자열과 배열이 주어진다고 가정해 보겠습니다. 우리의 임무는 배열의 해당 요소에 따라 문자열을 분할하는 것입니다. 예를 들어 -

입력

const string = 'Javascript splitting string by given array element';
const arr = [2, 4, 5, 1, 3, 1, 2, 3, 7, 2];

출력

['Ja','vasc','ript ','s','pli','t','ti','ng ','string ','by']

splitAtPosition과 같이 문자열과 배열을 가져와서 Array.Prototype.reduce() 메서드를 사용하여 분할된 배열을 반환하는 함수를 작성해 보겠습니다.

이 함수의 코드는 -

예시

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));

출력

콘솔의 출력은 -

[
   'Ja', 'vasc',
   'ript ', 's',
   'pli', 't',
   'ti', 'ng ',
   'string ', 'by'
]