gpt4 book ai didi

javascript - 如何保留相同的对象但只替换一个属性?

转载 作者:行者123 更新时间:2023-11-30 09:28:24 25 4
gpt4 key购买 nike

假设这是我的对象数组:

let data = [{
firstname: 'John',
lastname: 'Doe'
},
{
firstname: 'Jane',
lastname: '- Doe'
}]

现在,我想创建一个新对象,但是在 - Doe 所在的位置,我需要删除这部分 - 并只留下 Doe .

我试过这个:

let pollyData = data.map(item => _.mapValues(item, val => val.lastname.split('- ').pop()))

但是,我得到 undefined

是否有更好的方法来实现这一点?

谢谢。

最佳答案

迭代数组#map。检查对象是否包含带破折号的 lastname。如果是这样,请创建一个带有干净姓氏的新对象。如果不是返回原始对象。

注意:我用过object spread替换 lastname。如果您的构建堆栈不支持,您可以使用 Object.assign({}, obj, { lastname: obj.lastname.replace(/^-\s+/, '') }) 代替。

const data = [{
firstname: 'John',
lastname: 'Doe'
},
{
firstname: 'Jane',
lastname: '- Doe'
}
];

const result = data.map((obj) => obj.lastname.includes('-') ? ({
...obj,
lastname: obj.lastname.replace(/^-\s+/, '')
}) : obj);

console.log(result);

关于javascript - 如何保留相同的对象但只替换一个属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47893242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com