私はこのようなcondition1
によってcondition2
を実装している:条件は他の条件に依存します:条件条件
// condition1 comes from elsewhere
let condition2;
if(condition1){
condition2='task.done'
}else{
condition2='! task.done'
}
mappedTasks=tasks.map((task,idx)=>{
if(eval(condition2)){
return /* stuff */
}else{
return /* other stuff */
}
});
しかし、機能eval
は仕事をすることはできませんし、私のようなエラーメッセージが表示されます。
ReferenceError: task is not defined at eval
誰かがその条件条件を実装する最良の方法を知っているのだろうかと思います。
今のコードでは、と連携して動作します。
let condition2;
if(condition1){
condition2=task=>task.done;
}else{
condition2=task=>!task.done;
}
mappedTasks=tasks.map((task,idx)=>{
if(condition2(task)){
return /* stuff */
}else{
return /* other stuff */
}
});
!task.done'を呼び出します。 'task'は' .map() 'コールバックのパラメータです。 – Pointy
@Pointyそうです。 – user3405291