![](/img/trans.png)
[英]how can i replace one value from list object and same new value assign to same object list using angularjs?
[英]How can I keep same object but replace only one property?
假设这是我的对象数组:
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
。
有没有更好的方法来实现这一目标?
谢谢。
使用Array#map进行迭代。 检查对象是否包含带有破折号的lastname
。 如果是这样,请使用清除的姓氏创建一个新对象。 如果没有返回原始对象。
注意:我已经使用对象传播替换了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);
您可以使用正则表达式和array#map
let data = [{ firstname: 'John', lastname: 'Doe' }, { firstname: 'Jane', lastname: '- Doe' }]; var result = data.map(({firstname, lastname}) => ({firstname, lastname: lastname.replace(/^\\s*\\-\\s*/g, '')}) ); console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.