如何用 JavaScript 代码将 JSON 对象中所有 “AssessingStatus” 为 1 的值替换为红色?

如何用 JavaScript 代码将 JSON 对象中所有 “AssessingStatus” 为 1 的值替换为红色?

前端 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);

代码说明:

  1. 将“assessingOfficer”数组的“AssessingStatus”属性映射到新数组“assessingOfficerArr”中。
  2. 创建“deepAssessingOfficerArr”,它是“assessingOfficerArr”的深度副本。
  3. 使用循环遍历“deepAssessingOfficerArr”中的每个元素。
  4. 对于第一个元素(索引为 0),如果它是 1,则将其替换为 3。
  5. 对于其他元素,如果它是 1,则将其替换为 3。如果前一个元素是 1,则将其替换为 1。否则,将其保持原样。

执行后,“assessingOfficerArr”包含替换后的值,其中“AssessingStatus”为 1 的值被替换为 3(红色)。

以上就是如何用 JavaScript 代码将 JSON 对象中所有 “AssessingStatus” 为 1 的值替换为红色?的详细内容,更多请关注硕下网其它相关文章!