Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在数组javascript中交换值_Javascript_Arrays - Fatal编程技术网

在数组javascript中交换值

在数组javascript中交换值,javascript,arrays,Javascript,Arrays,问题: 编写一个函数,将数组作为参数,并返回交换了第一个和最后一个值的数组。数组的最小长度为2(例如,[1,5,10,-2]应返回[-2,5,10,1]) 我的代码: function test(arr) { // arr is 1, 2, 3, 4 var first = arr[0]; var last = arr[arr.length - 1]; console.log(first); console.log(last); // output

问题:

编写一个函数,将数组作为参数,并返回交换了第一个和最后一个值的数组。数组的最小长度为2(例如,[1,5,10,-2]应返回[-2,5,10,1])

我的代码:

function test(arr) {
    // arr is 1, 2, 3, 4
    var first = arr[0];
    var last = arr[arr.length - 1];
    console.log(first);
    console.log(last);
    // output should be 4, 2, 3, 1
}

test([1, 2, 3, 4]);

我遗漏了什么吗?

您需要实际修改数组并返回它:

function test(arr) {
  var first = arr[0];
  var last = arr[arr.length - 1];

  arr[0] = last;
  arr[arr.length - 1] = first;

  return arr;
}

请添加一个特定的问题陈述-它不起作用吗?什么错误信息或错误行为是特征?还是你要求进行全面检查,以确保所有东西都尽可能地编码好了?嘿,内森,只是一次全面检查。结果是代码显示为未定义,而不是打印交换的数组。您缺少问题的实际解决方案。在发布到SO之前,请自己至少尝试一些东西并检查它是否有效。从问题描述中可以看出:“…返回数组…”-您的函数从不返回任何内容(关键字
return
不在该代码的任何位置),因此您可能应该从这个开始…嗯,看起来您已经找到了答案,您拥有第一个和最后一个值,只需更改数组中的值并返回它<代码>arr['first']=last;arr['last']=第一;返回arr