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

JavaScript如何移除数组内对象的多余键,仅保留id、token、name三个键

实现方案

下面给两种常用的实现方式,可根据实际场景选择:

方案1:固定保留属性(写法最简洁)

直接用数组的map方法结合解构赋值,手动提取需要的三个属性即可:

// 原始数组
const originArr = [
  {
    id:1,
    token: 'xyz',
    name: 'john',
    _v: 2,
    _isActived: true,
    _isBlocked: false
  },
  {
    id: 2,
    token: 'abc',
    name: 'thomas',
    _v: 2,
    _isActived: true,
    _isBlocked: false
  }
];

const resArr = originArr.map(({ id, token, name }) => ({ id, token, name }));

直接输出resArr就能得到你要的结果。

方案2:动态保留属性(扩展性更强)

如果后续可能调整需要保留的属性,建议把要保留的键单独存成数组,结合reduce实现通用逻辑:

// 定义要保留的属性列表
const keepKeys = ['id', 'token', 'name'];
const resArr = originArr.map(item => {
  return keepKeys.reduce((newObj, key) => {
    // 加判断可以避免原始对象不存在该属性时生成值为undefined的键
    if (item.hasOwnProperty(key)) {
      newObj[key] = item[key];
    }
    return newObj;
  }, {})
})

如果不需要做属性存在性判断,去掉if判断逻辑即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 20:39:03