案例是:
function trocaPrimeiroEUltimo(array) {
array.array[0]
array.array[array.length - 1]
return array
}
我这样做了,但是没有用。我不能改变 function 的结构,只能改变它的内部结构。有人,可以帮帮我吗?
回答1
您想用第一个 value 替换最后一个 value 吗?如果是这样,请执行以下操作:
temp = array[0]
array[0] = array[array.length-1]
array[array.length-1] = temp
这是一个简单的交换。
回答2
该语法利用了新的 ES6 功能(解构数组)。这样交换就可以在没有临时变量的情况下完成。
整个事情甚至可以作为一个单行来完成:
const arr=[7,8,9,10,11];
const swapFirstLast=(a,l)=>([a[0],a[l]]=[a[l=a.length-1],a[0]],a);
console.log(swapFirstLast(arr))
使用参数 l
也是您在“真实”应用程序中可能不会做的事情。我只是这样做了,所以我不必在本地定义变量。 l
在赋值表达式的右侧被分配了一个 value。到需要存储结果时,l
已经计算出来,也可以用于寻址正确的目标元素。