JavaScript 中陣列的正、負、零貢獻


假設我們有一個由整數(包括正、負、零)組成的陣列,如下所示 −

const arr = [23, -1, 0, 11, 18];

我們需要編寫一個 JavaScript 函式,該函式以一個此類陣列作為第一個且唯一的引數。然後該函式應為所有三個不同的組(即正、負和零)查詢分數比率。

例如 −

對於上述陣列,其長度為 5,該陣列的輸出應為 −

const output = [.2, .2, .6];

輸出陣列將始終包含 3 個數字,分別表示負數、零和正整數的分數比率。確認我們答案的一種粗略方法是相加這三個值並檢查它們是否接近 1,如果是,我們很可能已正確解決了這個問題。

示例

程式碼如下 −

 線上示例

const arr = [23, -1, 0, 11, 18];
const findRatio = (arr = []) => {
   const { length } = arr;
   const res = [0, 0, 0];
   for(let i = 0; i < arr.length; i++){
      const el = arr[i];
      const key = el / Math.abs(el || 1);
      res[key + 1]++;
   };
   return res.map(el => el / length);
};
console.log(findRatio(arr));

輸出

控制檯中的輸出如下 −

[0.2, 0.2, 0.6]

更新日期: 22-Feb-2021

288 次瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.