缩小 for{} 循环

aNe*_*847 2 javascript optimization minify

我有一些for {}在整个项目中反复使用的 javascript 循环,它们都与此类似:

for (var i = 0; i < things.length; i++) {
    console.log(things[i]);
    // This may be different in different areas of the project
}
Run Code Online (Sandbox Code Playgroud)

我缩小了代码,但是循环占用了很多缩小后的代码。有没有办法将上面的代码缩短为这样:

loop {
    console.log(things[i]);
    // This may be different in different areas of the project
}
Run Code Online (Sandbox Code Playgroud)

可能不是上面的内容,但你明白了。任何帮助将非常感激 :)

Dal*_*las 5

如果您重复打印不同的数组,您可以为其创建一个函数来减少重复:

function printArray(arr) {
    for (var i = 0; i < arr.length; i++) {
        console.log(arr[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后像这样调用:

printArray(things);
Run Code Online (Sandbox Code Playgroud)

如果您要做的不仅仅是打印,并且希望它更加通用,您应该使用回调,如下所示:

function loopArr(arr, cb) {
    for (var i = 0; i < arr.length; i++) {
        cb(arr[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)

这可以这样称呼:

loopArr(thing, function (i) {
    console.log(i);
});
Run Code Online (Sandbox Code Playgroud)

小提琴


还有一些工具已经可以为您执行此操作,例如,如果您正在使用(或想要使用)jQuery,则可以使用jQuery.each()