У меня есть один массив json и другой массив для порядка сортировки. Теперь я хочу отсортировать массив json в соответствии с элементами массива сортировки.Сортировка данных json на основе другого массива
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" }
]
};
Выхода Должен быть
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" }
]
};
Вы пробовали что-нибудь? Кроме того, почему вы сохраняете числа в виде строк в 'checkedIds'? – 4castle
Что вы пробовали? Как следует сортировать элементы, которые не являются частью массива 'checkedIds'? – Timo
Я думаю, что есть лучший способ решить то, что вы пытаетесь сделать, чем делать это. См. [Что такое проблема XY?] (Http://meta.stackexchange.com/a/66378). Почему бы вам не сделать «ProductImages» вместо объекта и сделать ключ «itemId»? Вы можете использовать 'checkedIds' для ссылки на ключи, когда они вам понадобятся. – 4castle