【发布时间】:2018-04-04 15:30:09
【问题描述】:
我正在使用数值和“-”作为字符对数组进行排序。 我的数组是
var arr = [5, 3, 10, "-", 2, "-"]
我希望它使用数字值排序,后跟所有“-”字符。
要求的结果:-
final array = [10, 5, 3, 2, "-", "-"]
我尝试过的:-
var array_with_chars= arr.filter(function( element ) {
return element.name == '-';
});
var array_with_nums= arr_obj.filter(function( element ) {
return element.name !== '-';
});
array_with_nums.sort(function(a, b) {
return b.name - a.name;
});
for(var i = 0; i< array_with_chars.length; i++){
array_with_nums.push(array_with_chars[i])
}
有什么好的方法可以在单次迭代中对其进行排序吗?
【问题讨论】:
-
你能定义“特殊”字符是什么意思吗?您希望如何订购特殊的?谢谢。
-
我只有“-”作为最后需要进来的字符。
-
如果“-”是唯一的非数字字符,那么你可以这样做
arr.sort(function(a,b) { return b - a }); -
错误的欺骗目标,因为它没有回答不是用于排序的数字项目的问题。
-
@NinaScholz:然后将目标更改为合适的目标。我确定它存在。
标签: javascript sorting ecmascript-6