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

JavaScript:移除对象中以addr开头的属性并提取至新对象

拆分对象中指定前缀的属性

我们可以通过遍历对象键名,筛选出以addr开头的属性,将其移至新对象并从原对象中移除,完整实现代码如下:

const dataObj = {
  firstName: "David Dynamic",
  id: "13249906",
  lastName: "Garcia",
  address1: "Test Address1",
  address2: "Test Address2"
}

// 创建存储被移除属性的新对象
const addrObj = {};

// 遍历原对象的所有键名
Object.keys(dataObj).forEach(key => {
  // 判断键名是否以"addr"开头
  if (key.startsWith('addr')) {
    // 将属性移至新对象
    addrObj[key] = dataObj[key];
    // 从原对象中删除该属性
    delete dataObj[key];
  }
});

// 验证结果
console.log('处理后的原对象:', dataObj);
console.log('提取出的地址属性对象:', addrObj);

核心细节说明:

  • 用Object.keys()获取对象的所有键名,便于遍历筛选
  • 替换原代码的indexOf检测逻辑,改用String.prototype.startsWith('addr'),更直观地判断键名前缀,代码可读性更高
  • 通过delete操作符移除原对象的目标属性,同时将对应属性值赋值给新对象,完成属性拆分

如果需要保留原对象不被修改,可以先做浅拷贝再处理:

const originalData = { /* 原数据 */ };
const dataObj = { ...originalData }; // 浅拷贝原对象,避免修改原数据
// 后续处理逻辑同上

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 18:36:42