因此,我将4个值放入数组中,然后对它们进行排序...如何避免出现值,为什么不是一个数字来添加数组呢? e.g space,!
和其他字符?然后按排序将值放在不同的字段上。
var points = [t1, t2, t3, t4];
[t1, t2, t3, t4] = points;
points.sort(function(a, b){return a - b});
if (isNaN(t1)==false){this.getField("Text1").value = "§"+points[0]}
if (isNaN(t2)==false){this.getField("Text2").value = "§"+points[1]}
if (isNaN(t3)==false){this.getField("Text3").value = "§"+points[2]}
if (isNaN(t4)==false){this.getField("Text4").value = "§"+points[3]}
答案 0 :(得分:0)
您可以在检查isNaN的同时解析int并映射值。
然后过滤掉未定义的内容。 然后像平常一样对它们进行排序
var arr = [01, 23, 55, ' 5', 't'];
var a = arr.map((v, i, ar) => {
if (!isNaN(parseInt(v))) {
return parseInt(v)
}
})
var a = a.filter((el) => {
return el !== undefined
})
console.log(a.sort((a, b) => a > b))
结果= [1,5,23,55]
答案 1 :(得分:0)
只需将array filter应用于您的数组即可过滤其内容:
points = points.filter(number => !isNaN(number))
.sort(function(a, b){return a - b})