js 两个数组数据处理

第一个数组:
(6) [{…}, {…}, {…}, {…}, {…}, {…}__ob__: Observer]
0:
dataContent: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArIA"
topic: "名称"
1:
dataContent: (...)
topic: (...)
第二个数组:
(6) [Array(2), Array(3), Array(4), Array(3), Array(1), Array(1)]
0: Array(2)
0: {content: "户籍一", grand: 0, percent: 0, resultCount: 0, validPercent: 0}
1: {content: "户籍二", grand: 0, percent: 0, resultCount: 0, validPercent: 0}
length: 2
1: Array(3)
0: {content: "人均500元", grand: 0, percent: 0, resultCount: 0, validPercent: 0}
1: {content: "人均300元", grand: 0, percent: 0, resultCount: 0, validPercent: 0}
2: {content: "人均400元", grand: 0, percent: 0, resultCount: 0, validPercent: 0}
length: 3
2: (4) [{…}, {…}, {…}, {…}]
.....
求两个数组的数据合并(归并)
想要得到结果:
[
  {
    "dataContent": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArIA",
    "exportContent": [
      {
        "content": "户籍一",
        "grand": "0",
        "percent": "0",
        "resultCount": 0,
        "validPercent": "0"
      }
    ],
    "topic": "名称"
  }
]
阅读 2.3k
3 个回答

var data1 = [

  {
    dataContent: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArIA",
    topic: "名称"
  },
  {
    dataContent: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArIA",
    topic: "名称"
  },
  {
    dataContent: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArIA",
    topic: "名称"
  }
]
var data2 = [
  [
    {content: "户籍一", grand: 0, percent: 0, resultCount: 0, validPercent: 0},
    {content: "户籍二", grand: 0, percent: 0, resultCount: 0, validPercent: 0}
  ],
  [
    {content: "户籍一", grand: 0, percent: 0, resultCount: 0, validPercent: 0},
    {content: "户籍二", grand: 0, percent: 0, resultCount: 0, validPercent: 0},
    {content: "户籍二", grand: 0, percent: 0, resultCount: 0, validPercent: 0}
  ],
  [
    {content: "户籍一", grand: 0, percent: 0, resultCount: 0, validPercent: 0},
    {content: "户籍二", grand: 0, percent: 0, resultCount: 0, validPercent: 0}
  ],
]
function mergeData (data1, data2) {
  return data1.map((item, index) => ({
    ...item,
    exportContent: data2[index]
  }))
}
console.log(mergeData(data1, data2))

<script>

        var arr1 = [{
            dataContent: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArIA1",
            topic: "名称1"
        }, {
            dataContent: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArIA2",
            topic: "名称2"
        }];
        var arr2 = [
            [{
                    content: "户籍一",
                    grand: 0,
                    percent: 0,
                    resultCount: 0,
                    validPercent: 0
                },
                {
                    content: "户籍二",
                    grand: 0,
                    percent: 0,
                    resultCount: 0,
                    validPercent: 0
                }
            ],
            [{
                    content: "人均500元",
                    grand: 0,
                    percent: 0,
                    resultCount: 0,
                    validPercent: 0
                },
                {
                    content: "人均300元",
                    grand: 0,
                    percent: 0,
                    resultCount: 0,
                    validPercent: 0
                },
                {
                    content: "人均400元",
                    grand: 0,
                    percent: 0,
                    resultCount: 0,
                    validPercent: 0
                }
            ]
        ];
        var newArr = [];
        for (let i = 0; i < arr1.length; i++) {
            let item1 = arr1[i];
            item1.exportContent = arr2[i]
            newArr.push(item1)
        }
    </script>

加油,你可以的!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题