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

如何在对象内部获取自身键名以避免代码重复?

解决方案

当然可以避免重复输入键名,直接在对象字面量内部没办法直接获取当前键名,但可以通过以下两种常用方式实现:

1. 使用Array.reduce批量生成对象

先定义所有需要的键名数组,再通过reduce遍历生成最终对象,这样键名只需要写一次:

const keys = ['dliaz', 'srojourner'];
const profileContentSrc = keys.reduce((acc, key) => {
  acc[key] = {
    img: `${img_root[0]}${key}${img_root[1]}`,
    p: key === 'dliaz' 
      ? 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin nec felis consectetur, semper urna nec, eleifend sapien.'
      : 'Morbi hendrerit dignissim lorem, id scelerisque elit. Aliquam iaculis varius lacinia. In dignissim placerat urna ac hendrerit.'
  };
  return acc;
}, {});

2. 用工厂函数封装子对象逻辑

创建一个生成子对象的函数,传入键名和文本内容,函数内部自动拼接img路径:

function createProfile(key, text) {
  return {
    img: `${img_root[0]}${key}${img_root[1]}`,
    p: text
  };
}

const profileContentSrc = {
  'dliaz': createProfile('dliaz', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin nec felis consectetur, semper urna nec, eleifend sapien.'),
  'srojourner': createProfile('srojourner', 'Morbi hendrerit dignissim lorem, id scelerisque elit. Aliquam iaculis varius lacinia. In dignissim placerat urna ac hendrerit.')
};

这两种方式都能让你只写一次键名,避免重复冗余。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 01:10:29