【发布时间】:2015-06-07 19:53:15
【问题描述】:
我正在尝试返回数组的模式。我有一个内部循环和外部比较每个元素。数组 = [5,3,6,3,3,3]。
function mode(arr){
for (var i = 0; i < arr.length; i++) {
for (var k = i+1; k < arr.length; k++) {
if (arr[i] == arr[k]) {
modeItems += arr[k];
}else {
otherItems +=arr[i];
}
}
}return modeItems;
}
结果返回“333333”而不是“3333”。我在比较 15 个总循环 aar[i] 和 arr[k] 的 Excel 工作表上看到这是如何发生的,但我不知道该怎么做。
【问题讨论】:
-
看看
modeItems,它是如何定义和返回的。 -
我将它定义为一个空数组。我的目标是将匹配的元素从单个实例中分离出来
-
您可以在
O(nlogn)时间内完成,而不是O(n^2) -
我是新程序员,你指的是大 O 符号?
-
你在找这个吗? jsfiddle.net/7kp4ens9
标签: javascript arrays comparison