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
相关产品推荐
相关产品推荐

