在陣列中的每個值中間插入值 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 }
]

更新於: 2020-08-24

287 次瀏覽

開啟您的 職業生涯

透過完成本課程獲得認證

開始
廣告