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

如何在TypeScript中将对象合并到已有对象并以竖线拼接flag值?

TypeScript 对象合并与 Flag 拼接实现方案

你可以通过两种方式实现需求:创建新对象(不修改原对象)或直接修改原对象,以下是具体实现:

方式一:创建新对象(推荐,保持原对象不可变)

使用对象扩展运算符合并属性,单独处理 flag 的拼接:

const consolidatedObj = {
    "flag": "Data Concept",
    "UpdateDC": {
        "id": 732,
        "oId": 695112,
        "cType": "DCON",
        "clientId": 1,
        "aId": 236,
        "fType": "DAT_OWN",
        "details_1": {},
        "details_2": {}
    }
};

const anotherPayload = {
    flag: 'LOB',
    UpdateLOB: {
        assessmentId: +this.assessmentId,
        lobId: +this.lob['id'],
    }
};

// 合并并拼接flag
const mergedObj = {
    ...consolidatedObj,
    ...anotherPayload,
    flag: `${consolidatedObj.flag} | ${anotherPayload.flag}`
};

方式二:直接修改原对象

如果允许修改原 consolidatedObj,可以用 Object.assign 合并属性后更新 flag:

// 合并anotherPayload到原对象
Object.assign(consolidatedObj, anotherPayload);
// 拼接flag(添加替换逻辑避免重复拼接)
consolidatedObj.flag = `${consolidatedObj.flag.replace(` | ${anotherPayload.flag}`, '')} | ${anotherPayload.flag}`;

边界情况处理(可选)

如果存在某个对象的 flag 为空、undefined 或 null 的情况,可以过滤空值后再拼接:

const mergedFlag = [consolidatedObj.flag, anotherPayload.flag]
    .filter(Boolean) // 过滤空值
    .join(' | ');

const mergedObj = {
    ...consolidatedObj,
    ...anotherPayload,
    flag: mergedFlag
};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 03:47:30