替换数组中的项目

时间:2016-03-31 23:08:25

标签: jquery arrays

我想要更改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>

2 个答案:

答案 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>");
}

Working example