在Javascript中使用字符对数组排序
我正在用数值和“-”作为字符对数组进行排序。 我的数组是在Javascript中使用字符对数组排序,javascript,sorting,ecmascript-6,Javascript,Sorting,Ecmascript 6,我正在用数值和“-”作为字符对数组进行排序。 我的数组是 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= a
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])
}
var数组,带字符=arr.filter(函数(元素){
return element.name=='-';
});
var数组,带nums=arr\u对象过滤器(函数(元素){
return element.name!='-';
});
带排序的数组(函数(a,b){
返回b.name-a.name;
});
for(var i=0;i
有什么好方法可以在一次迭代中对其进行排序吗?您可以检查
NaN
并将这些项目移到末尾
var数组=[5,3,10,“-”,2,“-”];
array.sort((a,b)=>isNaN(a)-isNaN(b)| b-a);
console.log(数组)代码>您能定义“特殊”字符的含义吗?您想怎样订购特别的?Thx.I只有“-”作为需要最后输入的字符。如果“-”是唯一的非数字字符,那么您可以执行arr.sort(函数(a,b){return b-a})代码>错误的复制目标,因为它不能回答没有数字项进行排序的问题。@NinaScholz:然后将目标更改为正确的目标。我确信它是存在的,它可以工作——var数组=[5,3,10,“-”,2,“-”;array.sort((a,b)=>isNaN(a)-isNaN(b)| b-a);谢谢你,尼娜。在这种情况下,布尔数作为整数的运算效果非常好。所以,你不是在关闭明显的重复项,而是在回答它们。