JavaScript使用lodash扁平化嵌套JSON数组并移除指定键
实现方案
Lodash 版本(匹配你的技术栈要求)
直接使用_.flatMap即可实现需求,核心逻辑为对数组每一项做分类处理:
const _ = require('lodash'); // source 为你提供的原始输入数组 const formattedResult = _.flatMap(source, item => { if (item.newComing) return item.newComing; if (item.onSale) return item.onSale; return item; });
运行上述代码得到的结果和你给出的期望输出完全一致。你之前使用同类方法未得到预期结果,大概率是处理分组项时没有正确展开嵌套数组,flatMap会自动将返回的数组合并到最终结果中,省去手动拼接的步骤。
原生JS版本(无需引入第三方依赖)
如果你不想引入额外库,用原生数组的flatMap方法也能实现完全相同的效果:
// source 为你提供的原始输入数组 const formattedResult = source.flatMap(item => { if (item.newComing) return item.newComing; if (item.onSale) return item.onSale; return item; });
内容的提问来源于stack exchange,提问作者Naim R.
相关产品推荐
相关产品推荐

