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

如何编写JS函数将对象数组按state属性分组转换为指定结构?

实现方案

你可以直接使用JavaScript的Array.reduce方法完成分组,代码如下:

const groupByState = (input) => {
  return input.reduce((result, item) => {
    const { state, insurance } = item
    // 若当前state不存在于结果中,先初始化结构
    if (!result[state]) {
      result[state] = { state, insurances: [] }
    }
    // 追加当前insurance到对应数组
    result[state].insurances.push(insurance)
    return result
  }, {})
}

// 调用示例
const outputStructure = groupByState(inputStructure)

逻辑说明

  • 以空对象作为reduce的初始累加值,遍历输入数组的每个元素
  • 以state属性值作为结果对象的key,每个key对应的值固定为包含state和insurances两个属性的对象
  • 遍历过程中遇到相同state的元素,就把对应的insurance值追加到insurances数组中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 04:18:02