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

JavaScript中如何将请求原始headers重构为指定键值对数组?

实现结论

该请求头格式转换需求完全可以在JavaScript中实现,不需要依赖额外第三方库,原生语法即可完成。

原始数据规律

你提供的原始headers数据遵循固定排列规则:

  • 数组内元素按顺序两两配对
  • 偶数序号(0、2、4...)对应项存储请求头的键名
  • 奇数序号(1、3、5...)对应项存储请求头的键值
具体实现代码
// 原始待转换headers数据
const rawHeaders = [
  {"0": "Host"},
  {"1": "localhost:3000"},
  {"2": "Connection"},
  {"3": "keep-alive"}, 
  {"4": "sec-ch-ua"}, 
  {"5": "\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\""}
]

// 第一步:提取所有对象内的值,按顺序拼成一维平铺数组
const flatHeaderList = rawHeaders.map(item => Object.values(item)[0])
const result = []
// 第二步:步长设为2遍历,两两配对生成键值对对象
for (let i = 0; i < flatHeaderList.length; i += 2) {
  const headerKey = flatHeaderList[i]
  const headerValue = flatHeaderList[i + 1]
  result.push({ [headerKey]: headerValue })
}
转换输出结果

代码运行后得到的结果完全匹配你需要的键值对数组格式:

[
  { "Host": "localhost:3000" },
  { "Connection": "keep-alive" },
  { "sec-ch-ua": "\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"" }
]

注:你给出的目标格式示例中Host键位置存在引号书写笔误,上述输出为标准合法的JavaScript对象结构,可直接用于后续请求逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 03:54:24