跳到主内容
UniKit

列表转 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键名加引号合法标识符代码生成

同类工具