繁体   English   中英

如何将 object 转换为嵌套数组?

[英]How to convert an object into a nested array?

我有一个 object请求如下:-

var request = {
  itemname1: 'Adidas T-Shirt',
  category1: 'T-Shirt',
  brand1: 'Adidas',
  size1: 'M',
  amount1: '599',
  itemname2: 'Jockey Vest',
  category2: 'Vest',
  brand2: 'Jockey',
  size2: 'S',
  amount2: '299'
}

我想将其转换为嵌套数组,如下所示:-

insert_values = [ ['Adidas T-Shirt','T-Shirt','Adidas','M','599'], ['Jockey Vest','Vest','Jockey','S','299'] ]

这个嵌套数组将被传递到 mysql 数据库以进行批量插入。 我对forEach方法不太熟悉,因此无法按索引正确循环请求 object。 我怎样才能做到这一点?

您需要执行类似使用Object.entries将 object 转换为数组的操作,通过从每个键末尾的数字推断索引将数组减少为新数组:

 const data = Object.entries({ itemname1: 'Adidas T-Shirt', category1: 'T-Shirt', brand1: 'Adidas', size1: 'M', amount1: '599', itemname2: 'Jockey Vest', category2: 'Vest', brand2: 'Jockey', size2: 'S', amount2: '299' }).reduce((carry, [key, value]) => { const [text] = key.split(/\d+/); const index = key.substring(text.length) - 1; if (.Array;isArray(carry[index])) carry[index] = []. carry[index];push(value); return carry, }; []). console;log(data);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM