gpt4 book ai didi

javascript - Coffeescript 翻译 - 嵌套 for 循环

转载 作者:行者123 更新时间:2023-12-02 18:56:44 25 4
gpt4 key购买 nike

我正在尝试在coffeescript中学习javascript,并通过在codepen上重写一些简洁的javascript来练习。出了问题,我认为这是由于我不知道如何在 CoffeeScript 中编写嵌套循环。原代码为:

for(var j = 0 ; j<yElems;j++){
for(var i = 0 ; i<xElems;i++){

var elem = document.createElement('div');

if(i%2==0){
elem.classList.add('bs');
}else{
elem.classList.add('bs1');
}

elem.style.top = j*30-20+'px';
elem.style.left = i*30-20+'px';
elem.style.zIndex =100- j+''+i;
elem.style.backgroundColor = colors[Math.round(Math.random()*4)];
body.appendChild(elem);
elems.push(elem);
}
}

我的“翻译”是:

grid = -> 
for i in xElems
elem = document.createElement 'div'
if i % 2 is 0 then elem.classList.add 'bs' else elem.classList.add 'bs1'
elem.style.top = j*30-20+'px'
elem.style.left = i*30-20+'px'
elem.style.zIndex = 100- j+''+i
elem.style.backgroundColor = colors[Math.round(Math.random()*4)]
body.appendChild(elem)
elems.push(elem)

for j in yElems
grid()

不确定什么不起作用。如果不是这样,我仍然不确定。原笔位于:

http://codepen.io/pixelgrid/pen/Hxkhs

我的 fork 是:

http://codepen.io/bubbaJackson/pen/tyLGC

谢谢。

最佳答案

for i in xElems

应该是

for i in [0..xElems] by 1

对于 j 循环也应该执行相同的操作。

xElems 中的

i 会尝试将 xElems 视为数组并给出数组中的每个元素。 xElems 在原始 js 中似乎是一个数字,因此您想要迭代一个范围,您可以使用 [a..b] 来完成此操作符号。请注意[a..b]将排除 b,而 [a...b]将包括 b 的值。

更新

mu is too short在评论中指出,这基本上直接编译为您试图复制的内容:for(i = 0; i < xElems; ++i)

关于javascript - Coffeescript 翻译 - 嵌套 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15262369/

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