Javascript:操纵列表列表

Javascript:操纵列表列表,javascript,pattern-matching,nested-lists,Javascript,Pattern Matching,Nested Lists,假设我有以下几点: const任务=[ [“任务1”,(()=>console.log(123)), [“任务2”,(()=>console.log(456))] ]; 有没有一种表达方式: tasks.forEach(t=>{ log(`running!${t[0]}`); t[1](); } ) 以类似这样的形式: tasks.forEach((taskName,f)=>{ log(`running!${f}`); f(); } ) 遗憾的是,使用(x,i)语法,i给了我列表中项目的索

假设我有以下几点:

const任务=[
[“任务1”,(()=>console.log(123)),
[“任务2”,(()=>console.log(456))]
];
有没有一种表达方式:

tasks.forEach(t=>{
log(`running!${t[0]}`);
t[1]();
}
)
以类似这样的形式:

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

遗憾的是,使用
(x,i)
语法,
i
给了我列表中项目的索引,我无法让它引用函数。我还尝试了使用
[…,]
语法,但没有运气

您可以在迭代数组时分解元素

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

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

你可以解构你的参数:
tasks.forEach((taskName,f)
->
tasks.forEach([taskName,f])
hmm我试过了,得到了:
TypeError:[objectarray]不是一个函数
啊,是的,这个版本很好用。谢谢。我复制了你的代码,并替换了我指出的部分。应该对你也有用。