在javascript中需要一个函数来交换数组中的2个元素

0 javascript arrays swap function elements

一个交换两个数字的程序

        /*
        /*
        Function to swap two numbers.
        Function takes an argument which is an array of two elements.
        Function returns a new array containing the same two elements
                       as the argument array but in reverse order.
        */

        function swap(anArray)           
        {
        // declare and initialise a variable to hold the length of the 
                          argument array
            var length = anArray.length;

            //declare an array to be returned by the function
            var returnArray = new Array(length);

            //copy each element of the argument array to the  
                                  return array
            for (var i = 0; i < length; i = i + 1)
            {
                returnArray[i] = anArray[i];
            }


        var anArray [0] = 250;
        var anArray [1] = 100;

        var tempArray [0] = 0;
        var tempArray [1] = 0;

        tempArray [0] = anArray [1];
        tempArray [1] = anArray [0];


        }

        document.write('A program to swap two numbers.');

        //  PLACE YOUR CODE FOR THE MAIN PROGRAM HERE

        var anArray = [250,100];

        // Display the original array values,
        document.write('The original array was ' + anArray[i] + '<BR>');

        // invoke swap() with two element array argument
        function swap(anArray);

        // display final array values
        document.write('This array now becomes ' + returnArray[i] + '<BR>');

    </SCRIPT>
</HEAD>
<BODY>

</BODY>
Run Code Online (Sandbox Code Playgroud)

Mat*_*nen 10

你的代码非常漫长.如果数组总是包含两个元素,为什么不这样做呢?

function swap(arr) {
    return [arr[1], arr[0]];
}
Run Code Online (Sandbox Code Playgroud)

此外,调用该函数的正确方法是:

arr = swap(arr);
Run Code Online (Sandbox Code Playgroud)

如果您希望函数修改其参数,请改为:

function swap(arr) {
    var tmp = arr[1];
    arr[1] = arr[0];
    arr[0] = tmp;
}
Run Code Online (Sandbox Code Playgroud)

...还有一个内置的方法叫做reverse数组:

arr.reverse();
Run Code Online (Sandbox Code Playgroud)

  • 从现在开始,请将作业问题标记为作业,以免我不小心回答. (5认同)
  • 我认为你有足够的+ 1s直到我读到那个评论大声笑. (2认同)