gpt4 book ai didi

javascript - 如何获取数组中的模式

转载 作者:行者123 更新时间:2023-11-29 19:21:33 25 4
gpt4 key购买 nike

关于如何在数组中获取模式,我已经苦恼了一段时间。数组中相同的元素将放在一起。对于前。 [Alex, Steven, Georg, Alice, Alex, Georg]; 返回将是:Alex:2,Steven:1,Georg:2,Alice:1;

我编写了代码,但它只适用于 1 到 10 之间的数字。当然还有更好的方法。

(我认为您不需要我的代码,但无论如何都会粘贴它。)

var mode = function (data){
var result1 = data.filter(function (verde) {return verde === 1});
var result2 = data.filter(function (verde) {return verde === 2});
var result3 = data.filter(function (verde) {return verde === 3});
var result4 = data.filter(function (verde) {return verde === 4});
var result5 = data.filter(function (verde) {return verde === 5});
var result6 = data.filter(function (verde) {return verde === 6});
var result7 = data.filter(function (verde) {return verde === 7});
var result8 = data.filter(function (verde) {return verde === 8});
var result9 = data.filter(function (verde) {return verde === 9});

var nyadata = [result1.length, result2.length,
result3.length, result4.length,
result5.length, result6.length,
result7.length, result8.length,
result9.length];

var nyarreymax = Math.max.apply(Math, nyadata);

if (nyarreymax === result1.length){return 1;}
if (nyarreymax === result2.length){return 2;}
if (nyarreymax === result3.length){return 3;}
if (nyarreymax === result4.length){return 4;}
if (nyarreymax === result5.length){return 5;}
if (nyarreymax === result6.length){return 6;}
if (nyarreymax === result7.length){return 7;}
if (nyarreymax === result8.length){return 8;}
if (nyarreymax === result9.length){return 9;}
else { return false;}

希望您能帮助我了解通常适用于字符串和所有整数的代码。

最佳答案

我自己是 js 的初学者,不久前也在寻找同样的解决方案。这是我发现应该是您正在寻找的内容:

function findMode(arr) {
var map = {};
for (var i = 0; i < arr.length; i++) {
if (map[arr[i]] === undefined) {
map[arr[i]] = 0;
}
map[arr[i]] += 1;
}
var greatestFreq = 0;
var mode;
for (var prop in map) {
if (map[prop] > greatestFreq) {
greatestFreq = map[prop];
mode = prop;
}
}
return mode;
}

关于javascript - 如何获取数组中的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32786798/

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