将特定键值替换为指定颜色的技巧
在前端开发中,有时需要将对象中特定键的值替换为指定颜色。以下是通过 JavaScript 实现这一目标的方法:
假设有这样的 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
}
]
}
使用 map() 和 JSON.parse()
我们可以使用 map() 方法获取 AssessingStatus 的值,并使用 JSON.parse() 方法创建深层副本:
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];
}
在这个循环中:
- 如果第一个元素为 1,将其替换为 3,否则保持不变。
- 对于其他元素,如果当前元素为 1,则将其替换为 3。
- 如果当前元素之前的一个元素为 1,则将其替换为 1。
- 否则,保持当前元素不变。
最后的 assessingOfficerArr 将包含替换后的值:
[3, 1, 3, 1, 3, 1, 3]
以上就是如何通过 JavaScript 代码实现将 JSON 对象中特定键值替换为指定颜色?的详细内容,更多请关注知识资源分享宝库其它相关文章!
版权声明
本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com
发表评论