के आधार पर मैं जैसेसमूहीकरण Json एकाधिक कुंजी
नीचे[
{
"category_id": "C1",
"category_name": "C1_Name",
"item_id": "C1_I1",
"item_name": "C1_I1_Name",
"variant_id": "C1_I1_V1",
"variant_name": "C1_I1_V1_ Name"
},
{
"category_id": "C1",
"category_name": "C1_Name",
"item_id": "C1_I1",
"item_name": "C1_I1_Name",
"variant_id": "C1_I1_V2",
"variant_name": "C1_I1_V2_ Name"
},
{
"category_id": "C1",
"category_name": "C1_Name",
"item_id": "C1_I2",
"item_name": "C1_I2_Name",
"variant_id": "C1_I2_V1",
"variant_name": "C1_I2_V1_ Name"
},
{
"category_id": "C1",
"category_name": "C1_Name",
"item_id": "C1_I2",
"item_name": "C1_I2_Name",
"variant_id": "C1_I2_V2",
"variant_name": "C1_I2_V2_ Name"
},
{
"category_id": "C2",
"category_name": "C2_Name",
"item_id": "C2_I1",
"item_name": "C2_I1_Name",
"variant_id": "C2_I1_V1",
"variant_name": "C2_I1_V1_ Name"
}
]
मैं समूह जावास्क्रिप्ट में Json एन करने के लिए 'के स्तर चाहते हैं एक JSON संरचना है, चाबियों का सूची में उत्तीर्ण होकर कहते हैं।
[
{
"category_id": "C1",
"category_name": "C1_Name",
"item": [
{
"item_id": "C1_I1",
"item_name": "C1_I1_Name",
"variant": [
{
"variant_id": "C1_I1_V1",
"variant_name": "C1_I1_V1_ Name"
},
{
"variant_id": "C1_I1_V2",
"variant_name": "C1_I1_V2_ Name"
}
]
},
{
"item_id": "C1_I2",
"item_name": "C1_I2_Name",
"variant": [
{
"variant_id": "C1_I2_V1",
"variant_name": "C1_I2_V1_ Name"
},
{
"variant_id": "C1_I2_V2",
"variant_name": "C1_I2_V2_ Name"
}
]
}
]
}
]
कैसे इस बारे में जाने के लिए पर मदद की जरूरत है सकते हैं: उदाहरण देकर category_id, ITEM_ID और variant_id के लिए, मैं निम्नलिखित प्रतिक्रिया की उम्मीद कर रहा हूँ?
मैंने निम्न की तरह कुछ करने की कोशिश की, लेकिन यह एक स्तर के लिए समूह है। मैं इसे रिकर्सिव करना चाहता हूं।
function groupBy(collection, property) {
var i = 0, val, index, values = [], result = [];
for (; i < collection.length; i++) {
val = collection[i][property];
index = values.indexOf(val);
if (index > -1)
result[index].push(collection[i]);
else {
values.push(val); result.push([collection[i]]);
}
}
return result;
}
मैं निम्नलिखित की तरह कुछ करने की कोशिश की इस डाल, लेकिन यह एक स्तर के लिए समूहों, मैं यह रिकर्सिव [कोड] फ़ंक्शन समूह (संग्रह, संपत्ति) { var i = 0, वैल, इंडेक्स, मान = [], परिणाम = []; (; i -1) परिणाम [अनुक्रमणिका] .push (संग्रह [i]); अन्य { मूल्य.push (वैल); परिणाम.push ([संग्रह [i]]); } } वापसी परिणाम; } –
Madhan
आप कुंजी नाम या मूल्यों की एक सूची पास करना चाहते हैं? – user937284
मुख्य नाम (उपर्युक्त उदाहरण में, मुझे श्रेणी_आईडी, item_id, variant_id को सूची के रूप में पास करने की आवश्यकता है – Madhan