如何用 JavaScript 替换 JSON 对象数组中特定属性值?
前端 js 替换问题解决
问题描述:如何替换给定 json 对象中特定属性值,其中对象可能包含多个具有相同属性值的对象。
json 对象如下:
{ "assessingofficer": [ { "assessingofficername": "卡特琳娜", "assessingstatus": 1, "assessingofficertype": 1, "datatime": "2024-04-09 17:12:04", "remarks": "我们在一起", "username": "卡特琳娜" }, { "datatime": "2024-04-09 17:07:17", "remarks": "222222222222", "username": "卡特琳娜", "assessingofficername": "卡特琳娜", "assessingstatus": 2, "assessingofficertype": 2 }, { "datatime": "2024-04-09 17:07:33", "remarks": "22222222222222", "username": "卡特琳娜", "assessingofficername": "卡特琳娜", "assessingstatus": 2, "assessingofficertype": 2 } ] }
解决方案:
以下 javascript 代码可帮助您解决此问题:
const assessingofficer = [ { assessingstatus: 2, }, { assessingstatus: 2, }, { assessingstatus: 1, }, { assessingstatus: 1, }, { assessingstatus: 2, }, { assessingstatus: 2, }, { assessingstatus: 2, }, ]; var assessingofficerarr = assessingofficer.map((el) => el.assessingstatus); var deepassessingofficerarr = json.parse(json.stringify(assessingofficerarr)); for (let i = 0; i < deepassessingofficerarr.length; i++) { if (i === 0) assessingofficerarr[0] = deepassessingofficerarr[0] === 1 ? 3 : deepassessingofficerarr[0]; if (i > 0) assessingofficerarr[i] = deepassessingofficerarr[i] === 1 ? 3 : deepassessingofficerarr[i - 1] === 1 ? 1 : deepassessingofficerarr[i]; } console.log('assessingofficerarr', assessingofficerarr);
结果:
经过上述处理后,得到的 assessingofficerarr 数组如下:
[ 1, 2, 3, 1, 2, 2, 2 ]
其中,assessingstatus 为 1 的值被替换为 3,这符合要求,指示值已成功替换。
以上就是如何用 JavaScript 替换 JSON 对象数组中特定属性值?的详细内容,更多请关注硕下网其它相关文章!