HarmonyOS type如何合并

rcp.RequestHeaders申明如下:

export type RequestHeaders = {
  [k: string]: string | string[] | undefined;
  'authorization'?: string;
  'accept'?: ContentType | ContentType[];
  'accept-charset'?: string | string[];
  'accept-encoding'?: ContentCoding | ContentCoding[];
  'accept-language'?: string | string[];
  'cache-control'?: string | string[];
  'cookie'?: string | string[];
  'range'?: string | string[];
  'upgrade'?: string | string[];
  'user-agent'?: string;
  'content-type'?: ContentType;
};

现在有两个header需要合并:

let defaultHeader: rcp.RequestHeaders = {
  'x-weimai-origin': 'doc-hm',
  'accept': 'application/json'
}

let newHeader: rcp.RequestHeaders = {
  'x-weimai-version': '1.0',
  'user-agent': 'WMAPP/6.76.0'
}

如何合并这四个属性都有的?ts常用的解构赋值不支持。Partial也不支持type。

{
  ...defaultHeader,
  ...newHeader
}
HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

参考示例:

function arrayToMap(arr: Record<string, Object>[]) {
  // Record<string, Object>[] is more appropriate than Object[]
  if (!arr || arr.length === 0) {
    return null;
  }
  let map: Record<string, Object> = {};
  for (let index = 0; index < arr.length; index++) {
    const item = arr[index];
    if (item) {
      for (let k of Object.keys(item)) {
        map[k] = item[k]
      }
    }
  }
  return map;
}
分享
微博
QQ
微信
回复
3天前
相关问题
如何在ArkTS中合并对象?
1601浏览 • 1回复 待解决
MySQL如何多表合并查询?
2720浏览 • 1回复 待解决
HarmonyOS 如何合并两个对象
88浏览 • 1回复 待解决
HarmonyOS 关于合并对象
46浏览 • 2回复 待解决
postgresql 如何合并.bak内数据?
2722浏览 • 1回复 待解决
如何在ArkTS中合并对象
1090浏览 • 1回复 待解决
HarmonyOS 多张string图片合并成一张
25浏览 • 1回复 待解决
HarmonyOS rawFile文件夹合并问题
56浏览 • 1回复 待解决
有谁知道如何合并两个对象
2848浏览 • 1回复 待解决
HarmonyOS ets文件,合并两个Record记录
630浏览 • 1回复 待解决