javascript - 关于 Javascript 数组随机播放功能

标签 javascript jquery arrays

最近我从一些网页上阅读了有关打乱数组的Javascript函数的教程。但是有些代码我没有完全理解。 例如:这里是 js fiddle

这里我不明白这段代码

this[i] = this[j] + (this[j] = this[i],0);

这是什么意思 (this[j] = this[i],0); ? 提前致谢

最佳答案

代码只是进行 1 行交换。

您熟悉标准交换,对吗?

A = 6,B = 10

X = A

A = B

B = X

现在 B = 6,A = 10

看看你的教程代码

this[i] = this[j] + (...) 表示赋值不会立即发生。相反,必须首先计算括号。但是,浏览器会暂时记下 this[j] 的值,本质上是将其复制到 X。

(this[j] = this[i],0)现在可以计算了,但是括号返回什么要加到外面this[j]? 0!所以在括号内,发生了第二步交换,将0添加到临时X中!

现在计算变为 this[i] = this[j] + 0。第三步交换!

关于javascript - 关于 Javascript 数组随机播放功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35595010/

相关文章:

javascript - 当 ng-show 为 false 时清除输入 ng-model AngularJS

JQuery 向下滑动动画,同时保持 DIV 的完整尺寸

jquery - 我用 jquery 附加数据,但在 laravel 中没有对此数据执行任何事件

javascript - ES6中for循环的作用范围是什么?

javascript - 如何使用javascript在一定长度后换行

javascript - 在 Firefox 中单击链接时,有没有办法删除蓝色突出显示?

Java Streams - 更改元素的字段

php - 如何将 JSON 字符串转换为数组

javascript - 使用 Javascript 按值对 JSON 数组对象进行排序

javascript - 正则表达式:不同的首字母格式