กรณีอะเรย์มีcolumns ไม่เท่ากัน หา จำนวน columns ที่เยอะที่สุดในแต่ละสมาชิก และ เติม null ให้สมาชิกที่มีน้อยกว่าให้เท่ากันตัวมากที่สุด (เพื่อให้เป็น array2d ขนาดเท่ากันทั้งหมด
ข้อมูลมันเป็นแบบนี้
var salehistory = [['A001','ITEM1',100],
['A001','ITEM2',150],
['A002','ITEM1',200],
['A003','ITEM2',199],
['A001','ITEMO',299]];
var itemslist = [['ITEM1',90],
['ITEM2',80],
['ITEM3',95]];
var customer = salehistory.filter(row => {return row[0]=='A001'});
console.log(customer);
var pricelist = [];
for (let i =0; i< itemslist.length ; i++){
for (let j = 0; j<customer.length; j++){
console.log(itemslist[i]);
if (itemslist[i][0] == customer[j][1]) {
itemslist[i].push(customer[j][2]);
pricelist.push(itemslist[i]);
} else {
pricelist.push(itemslist[i]);
}
}
}
console.log(pricelist);
// result : [[ 'ITEM1', 90, 100 ],
// [ 'ITEM1', 90, 100 ],
// [ 'ITEM1', 90, 100 ],
// [ 'ITEM2', 80, 150 ],
// [ 'ITEM2', 80, 150 ],
// [ 'ITEM2', 80, 150 ],
// [ 'ITEM3', 95 ],
// [ 'ITEM3', 95 ],
// [ 'ITEM3', 95 ]]
// แต่ที่อยากได้คือ
// [[ 'ITEM1', 90, 100 ],
// [ 'ITEM2', 80, 150 ],
// [ 'ITEM3', 95 , null]]
รบกวนแนะนำว่า ต้องปรับตรงไหนทีครับ งง มาหลายวัน
ขอบคุณครับ
javascript : กรณีอะเรย์มีcolumns ไม่เท่ากัน หา จำนวน columns ที่เยอะที่สุดในแต่ละสมาชิก และ เติม null ให้
ข้อมูลมันเป็นแบบนี้
var salehistory = [['A001','ITEM1',100],
['A001','ITEM2',150],
['A002','ITEM1',200],
['A003','ITEM2',199],
['A001','ITEMO',299]];
var itemslist = [['ITEM1',90],
['ITEM2',80],
['ITEM3',95]];
var customer = salehistory.filter(row => {return row[0]=='A001'});
console.log(customer);
var pricelist = [];
for (let i =0; i< itemslist.length ; i++){
for (let j = 0; j<customer.length; j++){
console.log(itemslist[i]);
if (itemslist[i][0] == customer[j][1]) {
itemslist[i].push(customer[j][2]);
pricelist.push(itemslist[i]);
} else {
pricelist.push(itemslist[i]);
}
}
}
console.log(pricelist);
// result : [[ 'ITEM1', 90, 100 ],
// [ 'ITEM1', 90, 100 ],
// [ 'ITEM1', 90, 100 ],
// [ 'ITEM2', 80, 150 ],
// [ 'ITEM2', 80, 150 ],
// [ 'ITEM2', 80, 150 ],
// [ 'ITEM3', 95 ],
// [ 'ITEM3', 95 ],
// [ 'ITEM3', 95 ]]
// แต่ที่อยากได้คือ
// [[ 'ITEM1', 90, 100 ],
// [ 'ITEM2', 80, 150 ],
// [ 'ITEM3', 95 , null]]
รบกวนแนะนำว่า ต้องปรับตรงไหนทีครับ งง มาหลายวัน
ขอบคุณครับ