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

如何实现动态条件判断?基于fieldName动态赋值media系列属性

问题描述

已知fieldName是一个动态变量,取值仅为media、media2或media3,如何替换以下冗余的多分支判断代码,实现动态将json.media赋值给对应属性?

原冗余代码:

if(fieldName === 'media') {
const newObj = { ...objComponent, media: json.media };
} if(fieldName === 'media2') {
const newObj = { ...objComponent, media2: json.media };
} else {
const newObj = { ...objComponent, media3: json.media };
}

简化实现

利用JavaScript的对象字面量动态属性名特性,一行代码即可完成需求,彻底消除冗余分支:

const newObj = { ...objComponent, [fieldName]: json.media };

关键说明

  • 用方括号[]包裹fieldName,即可将其作为对象的动态属性名,自动匹配media/media2/media3三种取值
  • 扩展运算符...会保留objComponent的原有所有属性,同时将指定fieldName对应的属性值设置为json.media
  • 这种写法不仅简洁高效,后续若fieldName的取值范围扩展,也无需修改代码,可维护性更强

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 06:35:30