js如何用 一行代码将[true, false, false, true, true] 转成 [0,3,4]

在群里看到别人水的一个问题,原题是用python的问的[true,false,false,true,true]如何用一行代码转成[0,3,4]
我的写法是这样:
leta=[true,false,false,true,true];
a.map((val,idx)=>(val&&idx)).filter(val=>Number.isFinite(val)||val);
不知道有没有更好的答案
杨魅力
浏览 428回答 2
2回答

慕田峪7331174

letb=[true,false,false,true,true]b=b.reduce((prev,curr,index)=>prev.concat(curr?[index]:[]),[])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript