如果我有一個字串陣列,例如:
['person,item,cost,amount',
'John,shoes,200,2']
我怎么能把它轉換成一個類似的物件:
{
'John':[
{
item:'shoes',
cost:'200',
amount:'2',
totalPriceForItems:'400'
}
uj5u.com熱心網友回復:
如果我理解正確,你可以嘗試這樣的事情:
const convert = data => {
const [columnsText, ...items] = data;
const columns = columnsText.split(',');
return items.reduce((acc, text) => {
const { person, ...entries } = Object.fromEntries(text.split(',').map((value, i) => [columns[i], value]));
entries.totalPriceForItems = String(entries.cost * entries.amount);
if(acc[person]) {
acc[person].push(entries);
} else {
acc[person] = [entries];
}
return acc;
}, {});
};
const result = convert([
'person,item,cost,amount',
'John,shoes,200,2',
'Bob,glasses,50,3',
'John,shirts,100,5',
]);
console.log(result);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/449313.html
標籤:javascript 数组 细绳 目的
