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

Flutter中如何合并List of Maps中的多个Map?

如何将对象数组转换为指定的平铺键值对结构?

输入数据

var listMap = [
        {
          "type": "Spouse",
          "name": "Mother",
          "age": 50
        },
        {
          "type": "Family",
          "name": "Lili",
          "age": 16
        }
];

期望输出(注意:该格式不符合标准JavaScript/JSON语法,仅为需求展示)

var finalResult = [
"type": "Spouse",
"name": "Mother",
"age": 50,
"type": "Family",
"name": "Lili",
"age": 16, ];

实现方案

由于期望的输出不符合标准语法(数组内不能直接放置键值对,且存在重复键),我们可以通过遍历数组提取所有键值对,再拼接成目标格式的字符串:

var listMap = [
  {
    "type": "Spouse",
    "name": "Mother",
    "age": 50
  },
  {
    "type": "Family",
    "name": "Lili",
    "age": 16
  }
];

// 收集所有键值对字符串
const keyValueList = [];
listMap.forEach(item => {
  Object.entries(item).forEach(([key, val]) => {
    // 根据值的类型决定是否加引号,保留数字格式
    const formattedVal = typeof val === 'string' ? `"${val}"` : val;
    keyValueList.push(`"${key}": ${formattedVal}`);
  });
});

// 拼接成最终的目标字符串
const finalResult = `var finalResult = [
${keyValueList.join(',\n')}, ];`;

console.log(finalResult);

运行结果

执行代码后会得到你想要的格式:

var finalResult = [
"type": "Spouse",
"name": "Mother",
"age": 50,
"type": "Family",
"name": "Lili",
"age": 16, ];

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:55:27