在数组中的每个值中间插入值 JavaScript
我们有一个这样的数字数组 −
const numbers = [1, 6, 7, 8, 3, 98];
我们必须将这个数字数组转换成一个对象数组,每个对象都有一个键作为“value”,它的值作为数组元素的一个特定值。此外,我们必须在两个已存在的元素之间插入一个对象,其中键为“operation”,并交替使用 +、- *、/ 作为它的值。
因此,对于 numbers 数组,输出看起来像这样 −
[ { "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 } ]
广告