簡體   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