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

Chèn giá trị vào giữa mọi giá trị bên trong JavaScript mảng

Chúng ta có một dãy số như thế này -

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

Chúng ta phải chuyển đổi mảng số này thành một mảng đối tượng với mỗi đối tượng có một "giá trị" keyas và giá trị của nó là một giá trị cụ thể của phần tử mảng. Bên cạnh đó, chúng ta phải chèn thêm đối tượng giữa hai phần tử đã có từ trước với khóa là “hoạt động” và sử dụng một trong các dấu +, - *, / làm giá trị của nó.

Do đó, đối với mảng số, đầu ra sẽ giống như thế này -

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

Do đó, hãy viết mã cho chức năng này -

Ví dụ

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

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

[
   { 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 }
]