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

Node.js中如何动态获取对象键名并生成带指定前缀的数组

实现方法

你可以用Object.keys()获取对象所有键名,配合flatMap直接生成符合要求的一维数组,实现代码如下:

const test = async () => {
  const myList =  { PRICE: '12', TYPE: 'Electronics' }
  const PREFIX = 'MyOrg::'
  // 核心实现逻辑
  const myArray = Object.keys(myList).flatMap(key => [key, `${PREFIX}${key}`])
  console.log(myArray) // 输出结果:["PRICE", "MyOrg::PRICE", "TYPE", "MyOrg::TYPE"]
};

test();

代码说明

  • Object.keys(myList):会返回传入对象所有自身可枚举属性的键名组成的数组,针对示例对象返回的结果是["PRICE", "TYPE"]
  • flatMap:会遍历每个键名,对每个键返回包含原键名和拼接前缀后键名的数组,再自动把所有子数组合并成一个一维数组,刚好符合你需要的顺序结构

如果你的运行环境不支持flatMap,也可以用普通遍历的方式实现:

const test = async () => {
  const myList =  { PRICE: '12', TYPE: 'Electronics' }
  const PREFIX = 'MyOrg::'
  const myArray = []
  for (const key of Object.keys(myList)) {
    myArray.push(key)
    myArray.push(`${PREFIX}${key}`)
  }
  console.log(myArray)
};

test();

如果使用你测试代码里的{ TYPE: '12', REGION: 'Electronics' }作为输入,最终生成的数组为["TYPE", "MyOrg::TYPE", "REGION", "MyOrg::REGION"],完全符合规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:39:00