如何用 JavaScript 替换 JSON 对象数组中特定属性值?

如何用 javascript 替换 json 对象数组中特定属性值?

前端 js 替换问题解决

问题描述:如何替换给定 json 对象中特定属性值,其中对象可能包含多个具有相同属性值的对象。

json 对象如下:

{
    "assessingofficer": [
        {
            "assessingofficername": "卡特琳娜",
            "assessingstatus": 1,
            "assessingofficertype": 1,
            "datatime": "2024-04-09 17:12:04",
            "remarks": "我们在一起",
            "username": "卡特琳娜"
        },
        {
            "datatime": "2024-04-09 17:07:17",
            "remarks": "222222222222",
            "username": "卡特琳娜",
            "assessingofficername": "卡特琳娜",
            "assessingstatus": 2,
            "assessingofficertype": 2
        },
        {
            "datatime": "2024-04-09 17:07:33",
            "remarks": "22222222222222",
            "username": "卡特琳娜",
            "assessingofficername": "卡特琳娜",
            "assessingstatus": 2,
            "assessingofficertype": 2
        }
    ]
}

解决方案:

以下 javascript 代码可帮助您解决此问题:

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

结果:

经过上述处理后,得到的 assessingofficerarr 数组如下:

[ 1, 2, 3, 1, 2, 2, 2 ]

其中,assessingstatus 为 1 的值被替换为 3,这符合要求,指示值已成功替换。

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