前端 js 替换问题解析
提供了 json 对象,其中包含一个名为 "assessing
office
r" 的数组。要求替换数组中对象的某些值,使其变为“红色”。问题示例如下:
以下 js 代码提供了解决方案:
该代码遵循以下步骤:
极限网络办公Office Automation
专为中小型企业定制的网络办公软件,富有竞争力的十大特性: 1、独创 web服务器、数据库和应用程序全部自动傻瓜安装,建立企业信息中枢 只需3分钟。 2、客户机无需安装专用软件,使用浏览器即可实现全球办公。 3、集成Internet邮件管理组件,提供web方式的远程邮件服务。 4、集成语音会议组件,节省长途话费开支。 5、集成手机短信组件,重要信息可直接发送到员工手机。 6、集成网络硬
下载
立即学习
“
前端免费学习笔记(深入)
”;
将数组的 "assessingstatus" 属性提取到一个新的数组 assessingofficerarr 中。
对 assessingofficerarr 进行深层克隆,并将其存储在 deepassessingofficerarr 中。
遍历 deepassessingofficerarr,根据条件更新 assessingofficerarr 中的值:
如果当前值为 1,则更改为 3(红色)。
如果当前值大于 1,则根据前一个元素来决定更新为 1 或 3。
打印实际替换后的数组 assessingofficerarr。
最终,assessingofficerarr 数组将如下所示:
"assessingofficer": [
{
"assessingstatus": 1,
},
{
"assessingstatus": 2,
},
{
"assessingstatus": 2,
},
]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);[3, 1, 1, 3, 1, 3, 3]