如何将输入的3个数字按升序排序
How to sort in asending order the inputed 3 numbers
我编写了以下JavaScript代码以升序对数字进行排序。这些数字由用户输入获取。这里我声明x、y和z是用户输入的变量。
分别输入2、3、4,输出正确。但是当我输入值(2,4,3)(3,2,4)(3,4,2)(4,3,2)(4,2,3)时,输出是错误的。为什么预期的输出没有打印出来?变量x, y, z,
x = parseInt(prompt("Enter num"));
y = parseInt(prompt("Enter num"));
z = parseInt(prompt("Enter num"));
if ((x<y)&&(x<z))
{
document.write(x);
if (y<z)
{
document.write(y);
document.write(z);
}
}
else if ((y<z)&&(y<x))
{
document.write(y);
if (z<x)
{
document.write(z);
document.write(x);
}
}
else if ((z<x)&&(z<y))
{
document.write(z);
if (x<y)
{
document.write(x);
document.write(y);
}
}
</body>
</html>
要用三个变量回答你最初的问题,你需要在每个主要比较部分和其他部分写出变量的相反顺序。
var x = parseInt(prompt("Enter num")),
y = parseInt(prompt("Enter num")),
z = parseInt(prompt("Enter num"));
if (x < y && x < z) {
document.write(x);
if (y < z) {
document.write(y);
document.write(z);
} else { // add this
document.write(z);
document.write(y);
}
} else if (y < z && y < x) {
document.write(y);
if (z < x) {
document.write(z);
document.write(x);
} else { // add this
document.write(x);
document.write(z);
}
} else { // you can skip the comparison here,
document.write(z); // because there is no other possibillity
if (x < y) {
document.write(x);
document.write(y);
} else { // add this
document.write(y);
document.write(x);
}
}
你可以收集数组中的值,然后按数值排序。
var length = 3,
array = [];
while(array.length<length) {
array.push(+prompt("Enter num"));
}
array.sort(function (a, b) { return a - b; });
console.log(array);
您可以使用内置sort()
函数来完成此操作…
x = parseInt(prompt("Enter num"));
y = parseInt(prompt("Enter num"));
z = parseInt(prompt("Enter num"));
var sorted = [x,y,z].sort(function(a, b) {
return a - b;
})
console.log('sorted: ',sorted.join(' '))
根据这些值创建一个数组,并使用array .prototype.sort():
var x = parseInt(prompt("Enter num"), 10);
var y = parseInt(prompt("Enter num"), 10);
var z = parseInt(prompt("Enter num"), 10);
var arr = [x,y,z];
console.log(arr.sort(function(a,b) { return a-b; }))
相关文章:
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 测试索引值是否等于某个数字的倍数
- 将数字转换为一定数量的硬币
- 键入最后一位数字后自动提交
- 如何在javascript中迭代数字列表
- Javascript逻辑运算符和字符串/数字
- 如何在javascript中获得与特定数字相等的随机数
- 如果元素's的ID以数字开头
- 递增一个数字而不去掉前导零
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 如何在这里将两个值最低的数字相加
- 如何删除除冒号、数字和'上午'或者'下午'
- 如何匹配数字的升序
- 谷歌图表(javascript) - 接近数字的升序/降序困难
- 如何按数字升序对对象数组进行排序
- 测试数字是否按升序排列 - 正则表达式
- 如何在javascript中对数字用逗号分隔的字符串进行排序(按升序)
- HTML/Javascript升序数字
- 如何将输入的3个数字按升序排序
- 我已经在javascript中编写了一个代码来排序逗号分隔的值(数字),并且对于特定的值集,我的升序排序是不工作的