有没有更简单的方法来交换数组中的两个元素?

var a = list[x], b = list[y];
list[y] = a;
list[x] = b;

推荐答案

您只需要一个临时变量.

var b = list[y];
list[y] = list[x];
list[x] = b;

10年后,随着ES6的大量采用,Edit名劫机者成为了我们的头号答案:

在给定数组arr = [1,2,3,4]的情况下,您现在可以在一行中交换值,如下所示:

[arr[0], arr[1]] = [arr[1], arr[0]];

这将产生数组[2,1,3,4].这是destructuring assignment.

Javascript相关问答推荐

如何从对象嵌套数组的第二级对象中过滤出键

积分计算和 colored颜色 判断错误

Angular:动画不启动

如何从隐藏/显示中删除其中一个点击?

当Redux提供程序访问Reduxstore 时,可以安全地从Redux提供程序外部调用钩子?

Javascript json定制

如何在Angular17 APP中全局设置AXIOS

为什么云存储中的文件不能公开使用?

将基元传递给THEN处理程序

Docent.cloneNode(TRUE)不克隆用户输入

将多个文本框中的输出合并到一个文本框中

如何根据查询结果重新排列日期

如何通过Axios在GraphQL查询中发送数组

更改agGRID/Reaction中的单元格格式

我的NavLink活动类在REACT-ROUTER-V6中出现问题

如何压缩图像并将其编码为文本?

如何使用Cypress在IFRAME中打字

有没有办法在R中创建一张具有多个色标的热图?

如何在Reaction中设置缺省值, Select 下拉列表,动态追加剩余值?

如何设置时间选取器的起始值,仅当它获得焦点时?