数据拼接一:

原始数据为对象

{
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;
}

最新文章

  1. GridView/DataGrid行单击和双击事件实现代码_.Net教程
  2. Android 基础篇(二)
  3. SQL Server 2008 R2 未能加载文件或程序集Microsoft.SqlServer.Sqm...
  4. IIS7.5下发布应用程序备忘
  5. nginx(1、正向代理)
  6. 剑指Offer 矩形覆盖
  7. c++ namespace的使用
  8. yii2 生成PDF格式的文件
  9. 【转】从外行的视角尝试讲解为什么这回丰田栽了【全文完】【v1.01】
  10. 通过Microsoft Azure服务设计网络架构的经验分享
  11. Qt 学习之路:线程和 QObject
  12. CSS倒影
  13. [ZJOI2010]排列计数
  14. linux清空文件内容的几种方式与区别
  15. springmvc 文件上传(粘贴即用)
  16. 解决git冲突造成的Please move or remove them before you can merge
  17. 设计模式---行为变化模式之访问器模式(Visitor)
  18. Django 查询集简述
  19. 当DataTable的列名遇上特殊字符"["和"]"时
  20. C++ shared_ptr的用法

热门文章

  1. Cgroup学习笔记3—代码实现—相关结构和全局变量
  2. jmeter--json格式的请求数据参数化以及断言
  3. DAC双通道模板
  4. vue使用websoket
  5. Ubuntu20.04 无网络标识,网卡显示network为UNCLAIMED。附回退内核方法
  6. PowerShell学习笔记二_变量、Select、Foreach、where、自动变量
  7. QML调用C++程序
  8. Mosquitto安装与部署
  9. select控件操作汇总
  10. C++ Error:C2011: 'struct' type redefinition