
前端 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);该代码遵循以下步骤:
立即学习“前端免费学习笔记(深入)”;
- 将数组的 "assessingstatus" 属性提取到一个新的数组 assessingofficerarr 中。
- 对 assessingofficerarr 进行深层克隆,并将其存储在 deepassessingofficerarr 中。
-
遍历 deepassessingofficerarr,根据条件更新 assessingofficerarr 中的值:
- 如果当前值为 1,则更改为 3(红色)。
- 如果当前值大于 1,则根据前一个元素来决定更新为 1 或 3。
- 打印实际替换后的数组 assessingofficerarr。
最终,assessingofficerarr 数组将如下所示:
[3, 1, 1, 3, 1, 3, 3]










