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

JavaScript遍历对象数组按每两项拆分并插入指定内容的实现

实现方案
var original = [{
        image: 'sampleImage1.jpg',
        alignment: 'center',
        width: 200,
        height: 200,
        margin: [0, 20, 0, 20]
    },
    {
        image: 'sampleImage2.jpg',
        alignment: 'center',
        width: 200,
        height: 200,
        margin: [0, 20, 0, 20]
    },
    {
        image: 'sampleImage3.jpg',
        alignment: 'center',
        width: 200,
        height: 200,
        margin: [0, 20, 0, 20]
    },
    {
        image: 'sampleImage4.jpg',
        alignment: 'center',
        width: 200,
        height: 200,
        margin: [0, 20, 0, 20]
    }
];
var captions = ["a", "b", "c", "d"];

// 拆分captions为每2个一组,和图像分组一一对应
var captionGroups = [];
for (var i = 0; i < captions.length; i += 2) {
    captionGroups.push(captions.slice(i, i + 2));
}

var output = [];
for (var k = 0; k < original.length; k += 2) {
    // 插入当前分组的图像元素
    output.push(original.slice(k, k + 2));
    // 插入对应分组的标题
    output.push(captionGroups[k / 2]);
    // 插入固定的空单元格配置
    output.push([
        { text: "", border: [false, false, false, false], fillColor: "white" },
        { text: "", border: [false, false, false, false], fillColor: "white" }
    ]);
}

console.log(output);

逻辑说明

  • 先将captions数组按照和图像分组相同的规则(每2个元素为一组)拆分,得到和图像分组数量完全匹配的caption分组数组
  • 遍历原始图像数组的过程中,按顺序插入「图像组 → 对应caption组 → 空配置数组」三个元素即可
  • 兼容原始数组长度为奇数的场景,最后一组不足2个元素时也能正常生成结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:24:01