如何驗證陣列中的元素是否重複?—— JavaScript


我們需要編寫一個 JavaScript 函式,其中包含兩個引數——

  • 一個數組,例如 arr,其中包含可能包含一些重複元素的文字。
  • 一個數字,例如 limit。

該函式應該驗證陣列的每個元素的重複次數不超過 limit。如果某個元素的重複次數超過 limit,那麼該函式應返回 false,否則返回 true。

示例

程式碼如下——

const arr = [4, 6, 7, 4, 2, 5, 7, 7, 4, 4, 3];
const validateElements = (arr, n) => {
   const counts = arr.reduce((acc, el) => {
      acc[el] = (acc[el] + 1) || 1;
      return acc;
   }, {});
   return Object.values(counts).every(c => {
      return c < n;
   });
};
console.log(validateElements(arr, 3));
console.log(validateElements(arr, 4));
console.log(validateElements(arr, 6));

輸出

將在控制檯上生成以下輸出——

false
false
true

更新於: 2020 年 10 月 1 日

242 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告