前端 js 替换问题解析
提供了 json 对象,其中包含一个名为 "assessingofficer" 的数组。要求替换数组中对象的某些值,使其变为“红色”。问题示例如下:
"assessingofficer": [ { "assessingstatus": 1, }, { "assessingstatus": 2, }, { "assessingstatus": 2, }, ]
以下 js 代码提供了解决方案:
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);
该代码遵循以下步骤:
遍历 deepassessingofficerarr,根据条件更新 assessingofficerarr 中的值:
最终,assessingofficerarr 数组将如下所示:
[3, 1, 1, 3, 1, 3, 3]