You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中如何最短创建键0-99值全为false的对象,优先使用Lodash?

JavaScript创建0-99为键、值全为false的对象一行实现方案

原生ES6+ 实现

  • 方案1:使用Object.fromEntries + Array.from,可读性最高:
const obj = Object.fromEntries(Array.from({ length: 100 }, (_, idx) => [idx, false]));

说明:先通过Array.from生成长度为100的数组,每一项返回[索引, false]的键值对数组,再通过Object.fromEntries直接转换为对象。

  • 方案2:使用Array.reduce,兼容性比Object.fromEntries稍好:
const obj = Array.from({ length: 100 }).reduce((res, _, idx) => (res[idx] = false, res), {});

说明:利用reduce的累加特性,初始值为空对象,每次遍历把对应索引的键赋值为false后返回累加对象。

Lodash 实现

你之前用keyBy没成功是缺少了自定义键的计算逻辑,正确写法如下:

  • 方案1:_.keyBy 实现
const obj = _.keyBy(Array(100).fill(false), (_, idx) => idx);

说明:先生成长度100、值全为false的数组,keyBy第二个参数指定用数组索引作为生成对象的键。

  • 方案2:_.times + _.fromPairs 实现
const obj = _.fromPairs(_.times(100, idx => [idx, false]));

说明:_.times直接生成100组键值对,再通过_.fromPairs转换为对象。

内容的提问来源于stack exchange,提问作者gnarois

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:36:03