gpt4 book ai didi

coffeescript - 在 CoffeeScript 中使用范围的 for 循环

转载 作者:行者123 更新时间:2023-12-04 11:09:26 24 4
gpt4 key购买 nike

菜鸟问题。我正在尝试编写一个带有范围的 for 循环。例如,这是我想用 JavaScript 生成的:

var i, a, j, b, len = arr.length;
for (i = 0; i < len - 1; i++) {
a = arr[i];
for (j = i + 1; i < len; j++) {
b = arr[j];
doSomething(a, b);
}
}

到目前为止我最接近的是以下,但是
  • 它会生成不必要且昂贵的切片调用
  • 访问内部循环内的数组长度

  • CoffeeScript :
    for a, i in a[0...a.length-1]
    for b, j in a[i+1...a.length]
    doSomething a, b

    生成的代码:
    var a, b, i, j, _i, _j, _len, _len1, _ref, _ref1;

    _ref = a.slice(0, a.length - 1);
    for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
    a = _ref[i];
    _ref1 = a.slice(i + 1, a.length);
    for (j = _j = 0, _len1 = _ref1.length; _j < _len1; j = ++_j) {
    b = _ref1[j];
    doSomething(a, b);
    }
    }

    (如何)这可以用 CoffeeScript 来表达吗?

    最佳答案

    基本上,将您的第一个 JS 代码转录为 CS:

    len = arr.length
    for i in [0...len - 1] by 1
    a = arr[i]
    for j in [i + 1...len] by 1
    b = arr[j]
    doSomething a, b

    关于coffeescript - 在 CoffeeScript 中使用范围的 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14887315/

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