【发布时间】:2014-08-05 21:10:47
【问题描述】:
我需要 javascript 数组排序方面的帮助
我有一个如下的排序数组:
mainArray : [25 20 20 20 18 17 17 15 12 12 10 5 5 ]
mainArray 可能包含也可能不包含重复值。
A. 重复案例
现在,根据用户输入,我需要返回具有以下条件的 finalArray。
-
如果用户说获得前 3 个元素,那么程序应该返回,
finalArray : [25 20 20 20 18] 或
-
如果用户说获得前 5 名,那么,
finalArray:[25 20 20 20 18 17 17 15]
B.不重复的情况
mainArray : [25 20 18 17 15 12 10 5 ]
现在,
-
如果用户说获得前 3 个元素,那么程序应该返回,
finalArray : [25 20 18] 或
-
如果用户说获得前 5 名,那么,
finalArray:[25 20 18 17 15]
这是我尝试过的代码:
filterLength = 3;//top 3
var finalTarget = [];
for (var i = 0; i < filterLength; i++) {
if (typeof targetArray[i + 1] !== 'undefined') {
if (targetArray[i] == targetArray[i + 1]) {
filterLength++;
}
}
finalTarget.push(targetArray[i]);
}
if (finalTarget.length > targetArray.length) {
finalTarget.splice(targetArray.length, finalTarget.length - targetArray.length)
}
console.log(finalTarget);
任何帮助都会很重要。谢谢。
【问题讨论】:
-
即使是我的客户也不能给出这样的要求..! :)
-
@RajaprabhuAravindasamy 我正确地提出了这个问题,以便人们能够理解我的需要。无论如何,很好的评论...... :)
标签: javascript jquery arrays sorting duplicates