如何用 JavaScript 替换 JSON 对象数组中特定值的“AssessingStatus”?
如何用 javascript 替换对象的特定值?
考虑以下 json 对象,其中包含具有不同“assessingstatus”值的对象数组:
{ "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 } ] }
为了将对象中所有“assessingstatus”值替换为红色:
-
提取“assessingstatus”值数组:
- 使用 map 方法创建 assessingstatus 值数组。
-
创建深拷贝:
- 使用 json.parse(json.stringify()) 创建一个原始数组的深拷贝。
-
替换值:
-
循环深拷贝数组,并按以下规则替换值:
- 如果当前值是 1,则将其替换为 3(红色)。
- 如果当前值是 2,并且前一个值是 1,则将其替换为 1(绿色)。
- 否则,将其保持不变。
-
-
更新原始数组:
- 将修改后的深拷贝数组替换为原始数组。
示例 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);
以上就是如何用 JavaScript 替换 JSON 对象数组中特定值的“AssessingStatus”?的详细内容,更多请关注硕下网其它相关文章!