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

배열 JavaScript 내부의 모든 값 중간에 값 삽입

<시간/>

다음과 같은 숫자 배열이 있습니다 -

const numbers = [1, 6, 7, 8, 3, 98];

이 숫자 배열을 각 개체가 "값"이라는 키와 해당 값을 배열 요소의 특정 값으로 갖는 개체 배열로 변환해야 합니다. 이 외에도 우리는 키를 "작업"으로 사용하고 +, - *, / 중 하나를 값으로 사용하는 두 개의 기존 요소 사이에 객체를 삽입해야 합니다.

따라서 숫자 배열의 경우 출력은 다음과 같습니다. -

[
   { "value": 1 }, { "operation": "+" }, { "value": 6 }, { "operation": "-"},
   { "value": 7 }, { "operation": "*" }, { "value": 8 }, { "operation":"/" },
   { "value": 3 }, { "operation": "+" }, {"value": 98}
]

따라서 이 함수의 코드를 작성해 보겠습니다 -

예시

const numbers = [1, 6, 7, 8, 3, 98, 3, 54, 32];
const insertOperation = (arr) => {
   const legend = '+-*/';
   return arr.reduce((acc, val, ind, array) => {
      acc.push({
         "value": val
      });
      if(ind < array.length-1){
         acc.push({
            "operation": legend[ind % 4]
         });
      };
      return acc;
   }, []);
};
console.log(insertOperation(numbers));

출력

콘솔의 출력은 다음과 같습니다. -

[
   { value: 1 }, { operation: '+' },
   { value: 6 }, { operation: '-' },
   { value: 7 }, { operation: '*' },
   { value: 8 }, { operation: '/' },
   { value: 3 }, { operation: '+' },
   { value: 98 }, { operation: '-' },
   { value: 3 }, { operation: '*' },
   { value: 54 }, { operation: '/' },
   { value: 32 }
]