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

JavaScript从现有对象提取指定属性生成新对象的问题

问题解决:提取对象指定属性生成新对象

原代码的问题

  • JS变量名区分大小写:你定义的对象是Symbol(首字母大写),但函数里用的是小写的symbol,会导致引用错误。
  • 属性名不符:你给新对象设置的是price和vol,但预期是name和family属性。
  • 返回结构错误:原代码把结果放到数组里再嵌套在data对象中,和预期的直接返回{name:'sam', family:'wbb'}结构不符。

修正后的代码方案

方案1:直接提取属性生成新对象

// 建议避免用Symbol作为变量名,它是JS内置构造函数,易混淆
const userInfo = {
  city: 'canada',
  work: 'developer',
  id: 13276298846607,
  postId: '22222',
  cs: '53',
  name: 'sam',
  family:'wbb',
  adress :'candan canada',
  cfield: 12566,
}

const getTargetObj = () => {
  const newObj = {};
  newObj.name = userInfo.name;
  newObj.family = userInfo.family;
  return newObj;
};

console.log(getTargetObj()); // 输出 {name:'sam', family:'wbb'}

方案2:解构赋值(更简洁)

const getTargetObj = () => {
  // 从原对象解构出需要的属性,直接组合成新对象
  const { name, family } = userInfo;
  return { name, family };
};

额外提示

尽量不要用Symbol作为自定义变量名,它属于JS的内置全局对象,使用自定义名称(比如userInfo)能避免潜在的冲突和混淆。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 22:12:25