Cho mảng số: const numbers = [1, 6, 7, 8, 3, 98];
Chuyển thành mảng object: mỗi object có key "value" là phần tử mảng. Giữa hai phần tử chèn object key "operation" với giá trị luân phiên +, -, *, /.
Kết quả mong muốn:
[
{ "value": 1 }, { "operation": "+" },
{ "value": 6 }, { "operation": "-" },
{ "value": 7 }, { "operation": "*" },
{ "value": 8 }, { "operation": "/" },
{ "value": 3 }, { "operation": "+" },
{ "value": 98 }
]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));Kết quả
Đầu ra trong console 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 }
]