js之对象处理
2024-09-08 19:00:21
数据拼接一:
原始数据为对象
{
0grade: ""
0home: "萍钢四切(边部钩痕)"
0price: "3200"
0productName: "普板"
0remark: ""
1grade: ""
1home: "萍钢四切(边部钩痕)"
1price: "3201"
1productName: "普板"
1remark: ""
3grade: ""
3home: "萍钢四切(边部钩痕)"
3price: "3201"
3productName: "普板"
3remark: ""
}
要求数据为数组
[
{
grade: "",
home:"萍钢四切(边部钩痕)",
price: "3021",
productName: "普板",
remark: "",
},{
grade: "",
home:"萍钢四切(边部钩痕)",
price: "3021",
productName: "普板",
remark: "",
},
{
grade: "",
home:"萍钢四切(边部钩痕)",
price: "3021",
productName: "普板",
remark: "",
}
]
解决方案一:
getTableArry (data) {
let arry = [];
let obj = {};
for(let key in data) {
let curKey = parseInt(key.replace(/[^0-9]+/g, '')); // 获取key里的数字标记
let keyName =key.replace(/[^a-zA-Z]+/g, ''); // 获取 key里的字段名称
if(!isNaN(curKey)){// 过滤掉不包含数字标记的
obj = {
'productName':data[`${curKey}productName`],
'spec':data[`${curKey}spec`],
'grade':data[`${curKey}grade`],
'home':data[`${curKey}home`],
'weight':data[`${curKey}weight`],
'warehouse':data[`${curKey}warehouse`],
'price':data[`${curKey}price`],
'remark':data[`${curKey}remark`],
}
if(`${curKey}` in arry) {// 过滤掉已经追加到arry的obj }else {
arry.push(obj)
}
} }
return arry;
}
解决方案二:
ps: obj 对象拷贝,需放在里面,每次重新初始化
getTableArry (data, o) {
let arry = []; for(let key in data) {
let curKey = parseInt(key.replace(/[^0-9]+/g, '')); // 获取key里的数字标记
let keyName =key.replace(/[^a-zA-Z]+/g, ''); // 获取 key里的字段名称
if(!isNaN(curKey)){// 过滤掉不包含数字标记的
if(`${curKey}` in arry) {// 过滤掉已经追加到arry的obj }else {
let obj = {};
for (let i in o){
obj[i] = data[`${curKey}${i}`]
}
arry.push(obj)
}
} }
return arry;
}
最新文章
- GridView/DataGrid行单击和双击事件实现代码_.Net教程
- Android 基础篇(二)
- SQL Server 2008 R2 未能加载文件或程序集Microsoft.SqlServer.Sqm...
- IIS7.5下发布应用程序备忘
- nginx(1、正向代理)
- 剑指Offer 矩形覆盖
- c++ namespace的使用
- yii2 生成PDF格式的文件
- 【转】从外行的视角尝试讲解为什么这回丰田栽了【全文完】【v1.01】
- 通过Microsoft Azure服务设计网络架构的经验分享
- Qt 学习之路:线程和 QObject
- CSS倒影
- [ZJOI2010]排列计数
- linux清空文件内容的几种方式与区别
- springmvc 文件上传(粘贴即用)
- 解决git冲突造成的Please move or remove them before you can merge
- 设计模式---行为变化模式之访问器模式(Visitor)
- Django 查询集简述
- 当DataTable的列名遇上特殊字符";[";和";]";时
- C++ shared_ptr的用法
热门文章
- Cgroup学习笔记3—代码实现—相关结构和全局变量
- jmeter--json格式的请求数据参数化以及断言
- DAC双通道模板
- vue使用websoket
- Ubuntu20.04 无网络标识,网卡显示network为UNCLAIMED。附回退内核方法
- PowerShell学习笔记二_变量、Select、Foreach、where、自动变量
- QML调用C++程序
- Mosquitto安装与部署
- select控件操作汇总
- C++ Error:C2011: 'struct' type redefinition