
前端 js 替换对象中的特定属性值
在给定的 JSON 对象中,“assessingOfficer”数组包含多个评估官信息,每个信息都包含“AssessingStatus”属性。问题是如何将对象中所有“AssessingStatus”为 1 的值替换为红色。
以下 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);代码说明:
- 将“assessingOfficer”数组的“AssessingStatus”属性映射到新数组“assessingOfficerArr”中。
- 创建“deepAssessingOfficerArr”,它是“assessingOfficerArr”的深度副本。
- 使用循环遍历“deepAssessingOfficerArr”中的每个元素。
- 对于第一个元素(索引为 0),如果它是 1,则将其替换为 3。
- 对于其他元素,如果它是 1,则将其替换为 3。如果前一个元素是 1,则将其替换为 1。否则,将其保持原样。
执行后,“assessingOfficerArr”包含替换后的值,其中“AssessingStatus”为 1 的值被替换为 3(红色)。
立即学习“Java免费学习笔记(深入)”;










