Здравствуйте, я из php-фона и пытаюсь сгруппировать некоторые данные JSON через Javascript / JQuery.Я хочу сгруппировать данные, обрезав SKU и сгруппировав записи, что я успешно выполнил, однако я не могу получить данные в раздел «дети», который, кажется, только зацикливает первую запись.Детский раздел в идеале должен иметь все данные из файла JSON, но сгруппировать их по родительскому SKU.
Я пробовал следующее:
var items = [
{
product_type: "configurable",
options: [
{
label: "Size",
value: "7.5",
option_id: 190,
option_value: 106
}
],
qty: 3,
item_id: "300",
product_id: "88105",
product_name: "MENS SHOE TUDOR BLACK",
product_sku: "M1S-TUD02-AVEL-79-7.5",
},
{
product_type: "configurable",
options: [
{
label: "Size",
value: "11",
option_id: 190,
option_value: 99
}
],
qty: 3,
item_id: "298",
product_id: "88105",
product_name: "MENS SHOE TUDOR BLACK",
product_sku: "M1S-TUD02-AVEL-79-11",
},
{
product_type: "configurable",
options: [
{
label: "Size",
value: "M",
option_id: 190,
option_value: 66
}
],
qty: 1,
item_id: "111",
product_id: "99945",
product_name: "WOMENS SWEATER",
product_sku: "W1R-613K-A10400-96-M",
},
{
product_type: "configurable",
options: [
{
label: "Size",
value: "L",
option_id: 190,
option_value: 12
}
],
qty: 20,
item_id: "278",
product_id: "99945",
product_name: "WOMENS SWEATER",
product_sku: "W1R-613K-A10400-96-L",
},
];
var groupedItems = {};
$.each(items, function(key, item) {
if (item.product_type === "configurable") {
var sku = item.product_sku,
parentSku = sku.replace(sku.substring(sku.lastIndexOf("-")), "");
if (sku.indexOf(parentSku) >= 0) {
groupedItems[parentSku] = {
product_sku: parentSku,
product_name: item.product_name,
product_type: item.product_type,
children: [item]
};
}
}
});
console.log(groupedItems);
<!DOCTYPE html>
<html>
<head>
<title>Parcel Sandbox</title>
<meta charset="UTF-8" />
</head>
<body>
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js"></script>
</body>
</html>
Любая помощь будет более чем приветствоваться.Я хочу массив, который сгруппирует данные в соответствующие группы и будет иметь некоторую информацию, например, имя, родительский номер и т. Д. Из первой записи, а затем в дочернем разделе, содержащем всю информацию об элементах, но, очевидно, в соответствующих группах.Надеюсь, это имеет смысл!Еще раз спасибо!