javascript修改对象的全部或部分属性名(es6)Object.entries

使用select组件,这个组件需要的数据数组对象必须要包括key值和label值,即

dataList = [{key:'1',label:'中国'}]

我要显示的数据是接口返回的,并没有这两个属性名,所以就需要把对应的属性名更改为select组件支持的名称。

使用Object.entries()和Object.fromEntries()方法实现

const arr = [
  { id: 1, name: "wyy", age: 22, sex: "girl" },
  { id: 2, name: "lm", age: 12, sex: "boy" },
  { id: 3, name: "xh", age: 20, sex: "girl" },
];
function changeName(arr, names) {
  const newArr = [];
  arr.forEach((item) => {
    const objL = Object.entries(item);
    objL.forEach((ite, i) => {
      if (names[i] === undefined) return;
      ite[0] = names[i];
    });
    item = Object.fromEntries(objL);
    newArr.push(item);
  });
  return newArr;
}
console.log(changeName(arr, ["编号", "姓名", "年龄", "性别"]));

在这里插入图片描述

以上方法即可以修改对象中全部的属性名,也可以修改部分的属性名,不过names的名称顺序一定要和想要修改成的顺序相同。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

都挺好,刚刚好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值