[英]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.