计数 JavaScript 数组元素的出现次数并将其放入新的二维数组中


我们需要编写一个 JavaScript 函数,它接受一个文字值数组。该函数随后应该计算输入数组中每个元素的频率,并在此基础上准备一个新数组。

例如 − 如果输入数组是 −

const arr = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4];

那么输出应该是 −

const output = [
   [5, 3],
   [2, 5],
   [9, 1],
   [4, 1]
];

示例

对应的代码如下 −

const arr = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4];
const frequencyArray = (arr = []) => {
   const res = [];
   arr.forEach(el => {
      if (!this[el]) {
         this[el] = [el, 0];
         res.push(this[el])
      };
      this[el][1] ++
   }, {});
   return res;
};
console.log(frequencyArray(arr));

输出

而控制台中的输出将是 −

[ [ 5, 3 ], [ 2, 5 ], [ 9, 1 ], [ 4, 1 ] ]

更新于: 2020 年 11 月 24 日

357 次浏览

开启你的 职业

完成课程获得认证

开始
广告
© . All rights reserved.