列表转 JS 对象
把列表转成可直接粘贴进代码的 JavaScript 对象字面量:键名是合法标识符就裸写,含空格、连字符、以数字开头或是保留字时自动加引号,值一律是字符串,可选值取行号、出现次数或原始值,并统计加引号与重名合并的键数。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
列表
对象字面量
可直接粘贴进 JavaScript / TypeScript。
输入列表后即可生成对象
键值对: 0 · 加引号的键: 0 · 合并的重复键: 0 · 字符数: 0
这个工具能做什么
- 把一列 ID、一列字段名转成对象字面量,直接粘进 mock 数据、测试夹具或映射表,省掉手工补引号与逗号。
- 需要「每项给一个编号」或「每项给出出现次数」时切换值模式,一次生成带统计的对象。
- 按「键=值」粘贴后直接生成配置对象,键名不合法时自动加引号,避免生成出来的代码语法报错。
示例
输入
apple banana cherry
输出
export const fruits = {
apple: "1",
banana: "2",
cherry: "3",
};默认变量名是 list、值取行号(从 1 开始);示例里改成了 export const fruits,键名都合法所以不加引号。
常见问题
哪些键名会被加上引号?
不符合「字母或 _ $ 开头、后面只跟字母数字 _ $」的键(含空格、连字符、点号、以数字开头、中文)以及 JS 保留字(class、default、for 等)都会写成带引号的键,值里的引号与反斜杠也会转义,生成出来的代码一定能解析。
值为什么都是字符串?
列表里的每一项本质上都是文本,写成字符串不会因为 007、1.10 这类写法被解析成数字而丢掉前导零或末位。需要数字时在代码里自己转换,或者先用带引号的写法保留原样。
重复的键会怎样?
同一个键只输出第一次出现的那一条,后面的会被合并,并在统计里记进「合并的重复键」。对象字面量里重复键本来就只保留最后一个,与其生成有歧义的代码不如提前合并。
能生成嵌套对象或数组吗?
不能,这里只生成一层扁平的键值对。嵌套结构请用 JSON 转代码类工具,或者把值里的内容先处理好再粘进来。
关键词:列表转js对象list to objectjs 对象对象字面量object literal键名加引号合法标识符代码生成