【发布时间】:2015-12-23 13:24:38
【问题描述】:
关于如何在数组中获取模式,我已经有一段时间了。数组中相同的元素将放在一起。 例如。 [亚历克斯,史蒂文,乔治,爱丽丝,亚历克斯,乔治]; 返回将是: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;}
希望您能帮助我了解通常适用于字符串和所有整数的代码。
【问题讨论】:
-
我有点不确定你在问什么,你是在寻找数组中项目的迭代计数吗?如果是这样的话;这可能会有所帮助:stackoverflow.com/questions/19395257/…
-
该代码似乎缺少右花括号
}。
标签: javascript arrays mode