gpt4 book ai didi

JavaScript:创建一个返回数组频率分布的函数

转载 作者:行者123 更新时间:2023-11-30 13:58:04 26 4
gpt4 key购买 nike

我正在尝试创建一个返回数组频率分布的函数。此函数应返回一个对象,其中键是唯一元素,值是这些元素出现的频率。

我的代码如下:

function getFrequencies(arr) {

let obj = {};

for (let i=0; i<arr.length; i++){
let element = arr[i];

console.log(element)

// check if key exists in object already

// if it exists, add 1 to the value
if (obj[element] !== undefined){
obj[element] += 1;
}

// if it does not exist, add 1 to setup future elements
else {
obj[element] === 1;
}
}
return obj
}

getFrequencies(["A", "B", "A", "A", "A"])

我的代码返回:{} 当它应该返回时:

{ A: 4, B: 1 }

我做错了什么?

最佳答案

obj[element] === 1;这是比较运算符,不是赋值。

你想要 obj[element] = 1;

你可以在 ES6+ 中更容易地做到这一点,这是值得的:

arr.reduce((acc, item) => {
acc[item] = (acc[item] || 0) + 1
return acc
}, {})

关于JavaScript:创建一个返回数组频率分布的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56827018/

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