繁体   English   中英

Javascript更新对象属性值

[英]Javascript update Object attribute value

我正在尝试更新对象属性:

   data : [
     {"id":1,"rp":"2426","cr":"11-11"},
     {"id":1,"rp":"1119","cr":"19-21"},
     {"id":1,"rp":"3453","cr":"23-81"}
    ]

新对象将如下更新。

NewData: [
 {"id":1,"rp":"2426","cr":"11/11"},
 {"id":1,"rp":"1119","cr":"19/21"},
 {"id":1,"rp":"3453","cr":"23/81"}
]

我希望更新所有值的对象cr属性,例如使用javascript.replace()方法,我会执行replace(“-”,“ /”)。

那只是Array#mapString#replace的简单用法:

ES2018

 const data = [{"id":1,"rp":"2426","cr":"11-11"},{"id":1,"rp":"1119","cr":"19-21"},{"id":1,"rp":"3453","cr":"23-81"}] const r = data.map(({ cr, ...rest }) => ({ cr: cr.replace('-', '/'), ...rest })); console.log(r); 

您可以迭代并映射数组。

 var data = [{ id: 1, rp: "2426", cr: "11-11" }, { id: 1, rp: "1119", cr: "19-21" }, { id: 1, rp: "3453", cr: "23-81" }], newArray = data.map(o => Object.assign({}, o, { cr: o.cr.replace("-","/") })); console.log(newArray); 
 .as-console-wrapper { max-height: 100% !important; top: 0; } 

您可以使用map方法创建新数组并replace以更新cr属性。

 var data = [{"id":1,"rp":"2426","cr":"11-11"},{"id":1,"rp":"1119","cr":"19-21"},{"id":1,"rp":"3453","cr":"23-81"}] var update = data.map(({cr, ...rest}) => ({...rest, cr: cr.replace("-","/")})) console.log(update) 

尝试这个:

 const data = [ {"id":1,"rp":"2426","cr":"11-11"}, {"id":1,"rp":"1119","cr":"19-21"}, {"id":1,"rp":"3453","cr":"23-81"} ]; const newData = data.map(item => ({...item, cr: item.cr.replace(/-/g, '/')})); console.log(newData); 

如果您需要它在IE11中工作:

 const data = [ {"id":1,"rp":"2426","cr":"11-11"}, {"id":1,"rp":"1119","cr":"19-21"}, {"id":1,"rp":"3453","cr":"23-81"} ]; const newData = data.map( function(item) { return { id: item.id, rp: item.rp, cr: item.cr.replace(/-/g, '/') } } ); console.log(newData); 

你可以试试这个

 let data = [ {"id":1,"rp":"2426","cr":"11-11"}, {"id":1,"rp":"1119","cr":"19-21"}, {"id":1,"rp":"3453","cr":"23-81"} ]; let newData = data.map(e=>{ e.cr = e.cr.replace(/-/, '/') return e }) console.log(newData) 

只需在下面尝试

data.forEach(function(object){
    object["cr"] = object["cr"].replace("-","/");
});

 const data = [{"id":1,"rp":"2426","cr":"11-11"},{"id":1,"rp":"1119","cr":"19-21"},{"id":1,"rp":"3453","cr":"23-81"}] const r = JSON.parse(JSON.stringify(data).replace(/-/g,'/')) console.log(r); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM