我想要更改2和5的位置。之后我想再次打印。我该怎么办?
<body>
<div id="test"></div>
<input type="button" value="Click" onclick="test();">
<script>
function test() {
var arr = [2, 5];
$("#test").append(" " + arr[0] + "," + arr[1] + "<br>");
if (arr[0] < arr[1]) {
arr[1] = arr[0];
$("#test").append(" " + arr[0] + "," + arr[1] + "<br>");
}
}
</script>
</body>
答案 0 :(得分:2)
使用 temp变量进行交换:
function test() {
var arr = [2, 5];
$("#test").append(" " + arr[0] + "," + arr[1] + "<br>");
if (arr[0] < arr[1]) {
var t = arr[1];
arr[1] = arr[0];
arr[0] = t;
$("#test").append(" " + arr[0] + "," + arr[1] + "<br>");
}
}
答案 1 :(得分:1)
你可以很简单地整理这里的逻辑。首先,不要手动构建字符串,而是使用join()
。其次,在if条件中,不要使用索引逐个反转元素的顺序,而只使用reverse()
方法。最后,您可以重新排序逻辑,以便在设置div的html()
之前使阵列处于所需的状态。尽管如此,试试这个:
function test() {
var arr = [2, 5];
if (arr[0] < arr[1])
arr.reverse();
$("#test").append(arr.join(',') + "<br>");
}