如何用 JavaScript 替换数组对象中多个 AssessingStatus 为 1 的值?

如何用 javascript 替换数组对象中多个 assessingstatus 为 1 的值?

前端 js 替换数组对象特定值问题

如何将 json 对象中的特定值(assessingstatus 为 1)替换为另一个特定值(assessingstatus 为 3),且考虑对象可能有多个 assessingstatus 为 1 的情况。

以下是该问题的解决方法:

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. 将 assessingstatus 属性提取到数组 assessingofficerarr 中。
  2. 深度复制 assessingofficerarr 以获得一个独立的副本 deepassessingofficerarr。
  3. 遍历 deepassessingofficerarr,将 assessingstatus 为 1 的值替换为 3,同时考虑前后元素的 assessingstatus 值。
  4. 将更新后的assessingstatus 值更新到 assessingofficerarr 中。

以上就是如何用 JavaScript 替换数组对象中多个 AssessingStatus 为 1 的值?的详细内容,更多请关注硕下网其它相关文章!