js实现写个函数,参数有2个判断谁大,如果参数含有非数字则判断其ascll,如果该非数字参数有多位则先从第一位判断,如果相等依此类推
时间: 2024-05-06 14:15:29 浏览: 38
可以使用以下代码实现:
```
function compare(a, b) {
if (isNaN(a)) {
if (isNaN(b)) {
// 如果两个参数都是非数字,则按照 ASCII 码值比较
for (let i = 0; i < Math.max(a.length, b.length); i++) {
if (a.charCodeAt(i) !== b.charCodeAt(i)) {
return a.charCodeAt(i) - b.charCodeAt(i);
}
}
// 如果前面的所有字符都相等,则长度较短的参数更小
return a.length - b.length;
} else {
// 如果只有一个参数是非数字,则非数字参数更小
return -1;
}
} else if (isNaN(b)) {
// 如果只有一个参数是非数字,则非数字参数更小
return 1;
} else {
// 如果两个参数都是数字,则直接比较大小
return a - b;
}
}
```
这个函数接受两个参数 `a` 和 `b`,并且会按照题目要求进行比较。如果两个参数都是数字,则直接比较它们的大小;如果有一个参数是非数字,则非数字参数更小;如果两个参数都是非数字,则按照 ASCII 码值从左到右逐位比较,直到找到不同的字符为止,如果前面的所有字符都相等,则长度较短的参数更小。
阅读全文