Ich habe ein JSON-Array und ein anderes Array für die Sortierreihenfolge. Jetzt möchte ich das JSON-Array nach der Art Array-Elemente sortieren.JSON-Daten basierend auf einem anderen Array sortieren
var checkedIds =["2","1","4"];//sort order array
//json array
var jsonData1= {
"ProductImages": [
{ "checkBoxField": false, "itemId": 1, "rateValue":"$34" },
{ "checkBoxField": false, "itemId": 2, "rateValue":"$34" },
{ "checkBoxField": false, "itemId": 3, "rateValue":"$34" },
{ "checkBoxField": false, "itemId": 4, "rateValue":"$34" },
{ "checkBoxField": false, "itemId": 5, "rateValue":"$34" },
{ "checkBoxField": false, "itemId": 6, "rateValue":"$34" },
{ "checkBoxField": false, "itemId": 7, "rateValue":"$34" },
{ "checkBoxField": false, "itemId": 8,"rateValue":"$34" }
]
};
Ausgabe sollte
var jsonData1= {
"ProductImages": [
{ "checkBoxField": true, "itemId": 2, "rateValue":"$34" },
{ "checkBoxField": true, "itemId": 1, "rateValue":"$34" },
{ "checkBoxField": true, "itemId": 4, "rateValue":"$34" },
{ "checkBoxField": false, "itemId": 3, "rateValue":"$34" },
{ "checkBoxField": false, "itemId": 5, "rateValue":"$34" },
{ "checkBoxField": false, "itemId": 6, "rateValue":"$34" },
{ "checkBoxField": false, "itemId": 7, "rateValue":"$34" },
{ "checkBoxField": false, "itemId": 8,"rateValue":"$34" }
]
};
Sie alles versucht haben? Warum speichern Sie die Zahlen auch als Zeichenfolgen in 'checkedIds'? – 4castle
Was hast du bisher versucht? Wie sollen die Elemente sortiert werden, die nicht zum Array 'checkedIds' gehören? – Timo
Ich denke, es gibt einen besseren Weg, um das zu lösen, was Sie tun wollen, als dies zu tun. Siehe [Was ist das XY-Problem?] (Http://meta.stackexchange.com/a/66378). Warum machen Sie 'ProductImages' nicht zu einem Objekt und machen' itemId' zum Schlüssel? Sie können 'checkedIds' verwenden, um auf die Schlüssel zu verweisen, wenn Sie sie benötigen. – 4castle