vue3去除集合中指定的属性

pg:想将[{name:‘哈哈’,age:12,sex:1},{name:‘白白’,age:5,sex:3},{name:‘黑黑’,b:12}]变成[{name:‘哈哈’,age:12},{name:‘白白’,age:5},{name:‘黑黑’,b:12}]可以使用如下办法:

const temp = [{name:'哈哈',age:12,sex:1},{name:'白白',age:5,sex:3},{name:'黑黑',b:12}];
//使用对象解构和剩余参数语法...rest来获取除了属性filterList之外的其他属性,并将其组成一个新的对象。然后使用map()方法遍历原始数组,将每个对象转换为新的对象,最终得到一个新的  
const newArr = temp.map(obj => {  
  const {sex, ...rest} = obj;  
  return rest;  
});

上述可能会提示temp.map(({sex, …rest}) => rest);中*‘sex’ is defined but never used.eslintno-unused-vars*,不要慌,这是代码检查器ESLint的规则在执行中……

在代码中,尽管通过解构赋值将sex从obj中提取出来了,但并没有在map函数的回调中使用这个变量。因此,ESLint会发出警告,提示sex被定义了但没有被使用。

如果想要解构sex但从不使用它,有以下几种选择:
1.忽略警告:通过在变量名或整个函数前面添加特殊的注释来告诉ESLint忽略这个特定的警告。pg:

// eslint-disable-next-line no-unused-vars

2.使用sex变量:如果sex确实有用,需要立即使用,否则考虑是否应该解构sex

3.移除对sex的解构:如果和我一样只是想想获取除了sex之外的所有属性,完全可以移除对sex的解构代码,直接用map处理如下所示:

const temp= [{name:'哈哈',age:12,sex:1},{name:'白白',age:5,sex:3},{name:'黑黑',b:12}];  
const newArr = temp.map(obj =>{return { 'name':obj.name,'age':obj.age}
});

以上就是我遇到这个问题的发现的所有解决方法,有借鉴网络的地方,如有侵权,请联系我删除

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值