在数组中查找最少重复项 JavaScript

javascriptweb developmentfront end technologyobject oriented programming

我们需要编写一个 JavaScript 函数,该函数接受一个可能包含一些重复值的文字数组。

该函数应返回重复次数最少的所有元素的数组。

例如− 如果输入数组是 −

const arr = [1,1,2,2,3,3,3];

那么输出应该是 −

const output = [1, 2];

因为 1 和 2 重复的次数最少 (2)

示例

const arr = [1,1,2,2,3,3,3];
const getLeastDuplicateItems = (arr = []) => {
   const hash = Object.create(null);
   let keys, min; arr.forEach(el => {
      hash[el] = hash[el] || {
         value: el, count: 0 };
         hash[el].count++; });
         keys = Object.keys(hash);
         keys.sort(function (el, b) {
            return hash[el].count - hash[b].count; });
            min = hash[keys[0]].count;
            return keys. filter(el => {
               return hash[el].count === min;
      }).
      map(el => {
         return hash[el].value;
   });
}
console.log(getLeastDuplicateItems(arr));

输出

控制台中的输出将是 −

[ 1, 2 ]

相关文章