JavaScript如何按规则将数组转为对象:非Other值设为true、Other保留原值
实现方案
直接通过一次reduce遍历即可完成转换,无需创建中间对象再二次遍历,代码更简洁性能也更好。
超精简写法
const color = ["red", "green", "blue", "Other"]; const colorObjFinal = color.reduce((acc, cur) => (acc[cur] = cur === 'Other' ? cur : true, acc), {});
易读版写法
const color = ["red", "green", "blue", "Other"]; const colorObjFinal = color.reduce((acc, cur) => { acc[cur] = cur === 'Other' ? cur : true; return acc; }, {});
两种写法最终输出的结果都和要求的目标对象完全一致。
内容的提问来源于stack exchange,提问作者Shahid
相关产品推荐
相关产品推荐

