gpt4 book ai didi

coffeescript - 从CoffeeScript中的数组获取每两个元素

转载 作者:行者123 更新时间:2023-12-04 13:28:24 27 4
gpt4 key购买 nike

我想使用数组中的每对条目。有没有在不使用数组的length属性的情况下在CoffeeScript中执行此操作的有效方法?

我目前正在执行以下操作:

# arr is an array
for i in [0...arr.length]
first = arr[i]
second = arr[++i]

最佳答案

CoffeeScript具有 for ... by ,用于调整常规for循环的步长。因此,以2步迭代数组,并使用索引获取元素:

a = [ 1, 2, 3, 4 ]
for e, i in a by 2
first = a[i]
second = a[i + 1]
# Do interesting things here

演示: http://jsfiddle.net/ambiguous/pvXdA/

如果需要,可以在循环内使用分解后的赋值与数组切片结合使用:
a = [ 'a', 'b', 'c', 'd' ]
for e, i in a by 2
[first, second] = a[i .. i + 1]
#...

演示: http://jsfiddle.net/ambiguous/DaMdV/

您也可以跳过被忽略的变量,并使用范围循环:
# three dots, not two
for i in [0 ... a.length] by 2
[first, second] = a[i .. i + 1]
#...

演示: http://jsfiddle.net/ambiguous/U4AC5/

像其他所有代码一样,它会编译为 for(i = 0; i < a.length; i += 2)循环,因此该范围不会花费您任何费用。

关于coffeescript - 从CoffeeScript中的数组获取每两个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11388424/

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