js 如何根据标识符来循环的次数?
代码如下:
var arr = [{caseName: "2023-A0201-00002-0202",
t_ProductModel: "安泰636",
t_Remark: "无",
t_stutasbox: "1111",
t_syDate: "2023年07月31日",
t_syr: "http://baidu.com/user/2017690592034193337/sign.png",
t_ypys: "白色",
ypgg: "硬包装300mL",
ypsl: '12'
}, {caseName: "2023-A0201-00002-0202",
t_ProductModel: "安泰636",
t_Remark: "无",
t_stutasbox: "1111",
t_syDate: "2023年07月31日",
t_syr: "http://baidu.com/user/2017690592034193337/sign.png",
t_ypys: "白色",
ypgg: "硬包装300mL",
ypsl: '56'
}]
ypsl是标识符,需求是ypsl有多少个就循环多少个,比如ypsl是56,形成56个对象,已json格式来装,数据都一样的,大佬们,请问这样的数据来组装怎么弄呢用es5语法来写
回复
1个回答

test
2024-06-29
es5
:
var result = [];
arr.forEach(function(obj) {
var count = parseInt(obj.ypsl); // 将ypsl转换为数值型
for (var i = 0; i < count; i++) {
var newObj = {
caseName: obj.caseName,
t_ProductModel: obj.t_ProductModel,
t_Remark: obj.t_Remark,
t_stutasbox: obj.t_stutasbox,
t_syDate: obj.t_syDate,
t_syr: obj.t_syr,
t_ypys: obj.t_ypys,
ypgg: obj.ypgg,
ypsl: obj.ypsl
};
result.push(newObj); // 将新对象添加到结果数组中
}
});
var jsonResult = JSON.stringify(result); // 将结果数组转换为JSON格式字符串
console.log(jsonResult);
es6
:
const result = [];
arr.forEach(obj => {
const { ypsl, ...other } = obj;
for (let i = 0; i < parseInt(ypsl); i++) {
result.push({ ...other, ypsl });
}
});
const jsonResult = JSON.stringify(result)
console.log(jsonResult);
正常如果部署环境要 es5
开发环境也可以写 es6
,然后通过 babel
、gulp
、webpack
这些工具转换(不难看出,确实 es6
的开发体验更佳)
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容