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

如何将指定结构的JavaScript嵌套数组按特定格式写入文件?

解决方案:将嵌套数组转换为带索引格式并写入文件

我来帮你搞定这个需求!要把给定的嵌套JavaScript数组转换成你指定的带索引格式并写入文件,咱们用Node.js就能轻松实现(毕竟Node自带文件系统模块,操作起来很方便)。

实现代码

const fs = require('fs');

const ex = [
  {'id': 10, 'name': 'b', 'r': ['bill', 'ben']},
  {'id': 12, 'name': 'c', 'r': ['carl']},
  {'id': 4, 'name': 'a', 'r': ['alan', 'alexander', 'alexis']},
  {'id': 14, 'name': 'z', 'r': []}
];

// 格式化内层r数组为带索引的字符串
function formatRArray(rArray) {
  return rArray.map((item, index) => `${index}: '${item}'`).join(', ');
}

// 格式化整个数组为目标格式
function formatArray(arr) {
  return arr.map((obj, outerIndex) => {
    // 处理对象的每个属性,替换r数组为格式化后的内容
    const objContent = Object.entries(obj)
      .map(([key, value]) => {
        if (key === 'r') {
          return `'${key}': ${formatRArray(value)}`;
        }
        // 数字类型不需要加单引号,字符串类型加上
        return `'${key}': ${typeof value === 'number' ? value : `'${value}'`}`;
      })
      .join(', ');
    // 加上外层元素的索引
    return `${outerIndex}: ${objContent}`;
  }).join(', ');
}

// 生成最终要写入的字符串
const outputContent = formatArray(ex);

// 写入文件(这里用output.txt作为文件名,你可以根据需要修改)
fs.writeFile('output.txt', outputContent, (err) => {
  if (err) throw err;
  console.log('文件已成功生成!');
});

代码说明

  • 依赖模块:使用Node.js内置的fs模块来完成文件写入操作,不需要额外安装任何依赖。
  • formatRArray函数:专门处理内层的r数组,把数组元素转换成索引: '元素值'的格式,并用逗号分隔。比如['bill','ben']会变成0: 'bill', 1: 'ben'。
  • formatArray函数:遍历外层数组,给每个元素加上外层索引,同时处理每个对象的属性——遇到r属性时替换成格式化后的字符串,其他属性根据类型处理(数字不加单引号,字符串加单引号)。
  • 文件写入:最后用fs.writeFile把生成的目标字符串写入文件,执行后你就能在当前目录下找到output.txt,里面的内容完全符合你要求的格式。

最终输出效果

运行代码后,output.txt中的内容如下:

0: 'id': 10, 'name': 'b', 'r': 0: 'bill', 1: 'ben', 1: 'id': 12, 'name': 'c', 'r': 0: 'carl', 2: 'id': 4, 'name': 'a', 'r': 0: 'alan', 1: 'alexander', 2: 'alexis', 3: 'id': 14, 'name': 'z', 'r': 

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:37:31