Javascript 如何使用for循环交换数组的前2个元素 功能交换(arr){ var finalarr=[]; var tempArr=arr; 对于(i=0;i[2,1,3,4],, 但是它却输出=>[1,1,3,4]
能否修改此数组以交换array中的前2个元素?Javascript 如何使用for循环交换数组的前2个元素 功能交换(arr){ var finalarr=[]; var tempArr=arr; 对于(i=0;i[2,1,3,4],, 但是它却输出=>[1,1,3,4],javascript,arrays,for-loop,Javascript,Arrays,For Loop,能否修改此数组以交换array中的前2个元素?tempArr和arr是对同一对象的引用(您可以了解更多信息) 在您的情况下,不需要使用第二个数组,只需存储一个临时值,即可执行以下操作,例如: function swap(arr){ var finalarr = []; var tempArr = arr; for(i=0; i<1; i++){ arr[i + 1] = arr[i]; arr[i] = tempArr[i + 1]; } return arr; } 要
tempArr
和arr
是对同一对象的引用(您可以了解更多信息)
在您的情况下,不需要使用第二个数组,只需存储一个临时值,即可执行以下操作,例如:
function swap(arr){
var finalarr = [];
var tempArr = arr;
for(i=0; i<1; i++){
arr[i + 1] = arr[i];
arr[i] = tempArr[i + 1];
}
return arr;
}
要做到这一点,您需要一个临时变量,而不是数组和循环
var temp = arr[i + 1]
arr[i + 1] = arr[i]
arr[i] = temp
在保存数组的值之前,您将覆盖数组的第二个元素,因此使用您的方法,
[1]
处的值将永远丢失
您可以先保存该值,然后将其分配给arr[0]
功能交换(arr){
常数项1=arr[1];
arr[1]=arr[0];
arr[0]=item1;
返回arr;
}
log(交换([1,2,3,4]);
var temp = arr[0];
arr[0] = arr[1];
arr[1] = temp;