Javascript:操作列表列表

问题描述

假设我有以下内容

const tasks = [
    ["Task 1",(() => console.log(123))],["Task 2",(() =>console.log(456))]
];

有没有一种表达方式:

tasks.forEach( t => {
        console.log(`running ! ${t[0]}`);
        t[1]();
    }
)

类似这样的形式:

tasks.forEach( (taskName,f) => {
        console.log(`running ! ${f}`);
        f();
    }
)

遗憾的是,对于 (x,i) 语法,i 为我提供了列表中项目的索引,但我无法让它引用该函数。我也尝试过使用 [...,] 语法而没有运气

解决方法

您可以在遍历数组时解构元素...

tasks.forEach( ([taskName,f]) => {
        console.log(`running ! ${taskName}`);
        f();
    }
)

返回...

"running ! Task 1"
123
"running ! Task 2"
456