gpt4 book ai didi

javascript - 如何在 JavaScript 中以循环方式访问数组

转载 作者:可可西里 更新时间:2023-11-01 02:29:18 35 4
gpt4 key购买 nike

我有一个类似于[A,B,C,D] 的数组。我想在 for 循环中访问该数组,如

var arr = [A,B,C,D];

var len = arr.length;
for(var i = 0; i<len; i++){
0 - A,B,C
1 - B,C,D
2 - C,D,A
3 - D,A,B
}

我想像在 JavaScript 中那样访问它,有什么想法吗?

最佳答案

回答主要问题,有人可以使用模块化算法以循环方式访问数组。这可以在 JavaScript 中使用取模运算符 (%) 和变通方法来实现。

给定一个长度为n的数组arr和一个存储在其中的值val,该值将通过访问索引获得i,循环方式和更安全的方式来访问数组,忽略 i 的值和符号,将是:

let val = arr[(i % n + n) % n];

这个小技巧是必要的——有人不能直接使用模数结果——因为 JavaScript 总是将模数运算计算为被除数(第一个操作数)和除数(第二个操作数)之间除法的余数,而不考虑它们的符号但将股息的符号分配给余数。该行为并不总是会产生所需的模块化算法“环绕”效果,并可能导致错误访问数组的负数位置。

更多信息引用:

  1. https://www.khanacademy.org/computing/computer-science/cryptography/modarithmetic/a/what-is-modular-arithmetic
  2. https://en.wikipedia.org/wiki/Modular_arithmetic
  3. https://en.wikipedia.org/wiki/Modulo_operation
  4. https://dev.to/maurobringolf/a-neat-trick-to-compute-modulo-of-negative-numbers-111e

关于javascript - 如何在 JavaScript 中以循环方式访问数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17483149/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com