在 Javascript 中,我试图获取一个初始的数值数组并计算其中的元素。理想情况下,结果将是两个新数组,第一个指定每个唯一元素,第二个包含每个元素出现的次数。但是,我愿意接受有关输出格式的建议。
例如,如果初始数组是:
5, 5, 5, 2, 2, 2, 2, 2, 9, 4
然后将创建两个新数组。第一个将包含每个唯一元素的名称:
5, 2, 9, 4
第二个将包含该元素在初始数组中出现的次数:
3, 5, 1, 1
因为数字 5 在初始数组中出现了 3 次,所以数字 2 出现了 5 次,而 9 和 4 都出现了一次。
我已经搜索了很多解决方案,但似乎没有任何效果,而且我自己尝试过的一切都变得异常复杂。任何帮助,将不胜感激!
谢谢 :)
const arr = [2, 2, 5, 2, 2, 2, 4, 5, 5, 9]; function foo (array) { let a = [], b = [], arr = [...array], // clone array so we don't change the original when using .sort() prev; arr.sort(); for (let element of arr) { if (element !== prev) { a.push(element); b.push(1); } else ++b[b.length - 1]; prev = element; } return [a, b]; } const result = foo(arr); console.log('[' + result[0] + ']','[' + result[1] + ']') console.log(arr)