gpt4 book ai didi

javascript - Odd Ones Out - 创建一个在原始数组中出现偶数次的项目数组

转载 作者:行者123 更新时间:2023-11-28 14:14:45 27 4
gpt4 key购买 nike

但是,如果 67 在原始数组中出现两次,它也需要在新数组中出现两次。

我试图解决this coding challenge通过创建频率图,然后将具有偶数值的键插入最终数组:

function oddOnesOut(nums) {
let map = {};
nums.forEach((value) => {
if (!map[value]) {
map[value] = 0;
}
map[value] += 1;
});
let final = [];
for (let key in map) {
if (map[key] % 2 === 0) {
final.push(key);
}
}
return final;
}

console.log(oddOnesOut([42, 72, 32, 4, 94, 82, 67, 67]));

但是,当然,当我希望它返回 [67, 67] 时,它会返回 [67]。我不知道如何将它们的键()多次插入最终数组中。

在此示例中, map 如下所示:

{ '4': 1, '32': 1, '42': 1, '67': 2, '72': 1, '82': 1, '94': 1 }

那么,将此对象转换为具有偶数个键值的项目数组(其中项目出现键值次)的最快方法是什么?

最佳答案

使用Array.filter:

function oddOnesOut(nums) {
let map = {};
nums.forEach((value) => {
if (!map[value]) {
map[value] = 0;
}
map[value] += 1;
});
let final = nums.filter(e=>map[e]%2===0)
return final;
}

console.log(oddOnesOut([42, 72, 32, 4, 94, 82, 67, 67]));

关于javascript - Odd Ones Out - 创建一个在原始数组中出现偶数次的项目数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57939769/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com