如何使用咖喱函数循环

时间:2020-06-22 15:40:14

标签: javascript

一个简单的应用程序。我需要检查日志中的条目。 日志包含文本和级别。我在主要功能中手动在日志中创建条目。 现在,我需要遍历日志数组中的所有条目并打印内容(内容)。 但是,我需要使用咖喱函数来做到这一点。

这是主要功能:

function main() {
    const firstLine = ['21', ';'];
    const level = '2';
    const sep = firstLine[1];
    const myLog = joinedLogger(level, sep);
    const n = 4;
    let messages = [];
    var ob = {level: 20, text: 'foo'};
    messages.push(ob);
    ob = {level: 90, text: 'bar'};
    messages.push(ob);
    console.log(messages);
    myLog(...messages);
}

main();

我在控制台中看到的当然是带有在消息中包含对象的数组。 现在,我需要在joindLogger函数中做一些事情。但是在这里,我不确定我应该如何编码:

function joinedLogger(level, sep) {
    return function(arr){
        console.log('level',level);
        console.log('sep',sep);
        console.log('arr',arr);
    }
}

现在,控制台正在打印以下内容:

[ { level: 20, text: 'foo' }, { level: 90, text: 'bar' } ]
level 4
sep ;
arr { level: 20, text: 'foo' }

但是我不明白如何使joinLogger功能被写入以便查看所有数组。而且不仅像现在这样的第一个元素。

1 个答案:

答案 0 :(得分:1)

您可以在joinedLogger函数返回的函数中使用rest运算符。

function joinedLogger(level, sep) {
return function(...arr){
    console.log('level',level);
    console.log('sep',sep);
    console.log('arr',arr);
}
}