JS Hint - don't make functions within a loop

后端 未结 3 1815
Happy的楠姐
Happy的楠姐 2020-12-23 19:14

I can not get around JSHint\'s error message. Here is the loop I am using:

for (i = 0; i < Collection.length; i += 4) {
    data.push({
        items : Co         


        
3条回答
  •  臣服心动
    2020-12-23 19:51

    You can just move the function outside the loop and pass a reference to it to map:

    function mapCallback(item) {
        return {
            id : item[0],
            title : item[1],
        };
    }
    for (i = 0; i < Collection.length; i += 4) {
        data.push({
            items: Collection.slice(i, i + 4).map(mapCallback)
        });
    }
    

    Alternatively, you can use a JSHint directive to ignore function expressions inside loops. Just put this at the top of the file in question:

    /*jshint loopfunc: true */
    

提交回复
热议问题