Есть недорогой способ изменить:обратный JavaScript формата JSON
{
"10": "..."
"11": "...",
"12": "...",
"13": "...",
"14": "...",
}
так, что я получаю:
{
"14": "...",
"13": "...",
"12": "..."
"11": "...",
"10": "...",
}
реверса() не похоже на работу на объектах JSon. Единственный способ, о котором я могу думать, - это перебрать все элементы и создать массив. чувствует, что должен быть лучший способ.
Edit: спасибо за помощь UPDATE:
А что давайте говорить, если каждая клавиша имеет хронологические данные. Когда я использую $ .each на объекте, он проходит через объекты сверху вниз, я не понимал, что это ненадежно.
Вот что я пытаюсь сделать:
$.each(object, function (key, value) {
function foo (key, value);
});
Я хочу, чтобы не запускать Foo на все, кроме последних 3-х пар, то есть я только хочу, чтобы использовать последние 3 пары. Я подумал, могу ли я их отменить, я могу просто запустить первые три и остановиться.
Есть ли способ, который я могу сделать только последние 3? Если последние 3 заказа ненадежны, есть более безопасный способ захватить последний 3. Последние 3 будут иметь наибольшие числовые ключи.
Спасибо.
Редактировать 2: Я в основном решаю, наконец, делать манипуляции на стороне сервера. Я реорганизую свою базу данных, чтобы соответствующие вложенные документы теперь были заполнены документами, которые могут быть запрошены с помощью mongodb. Благодарю.
Я действительно есть вопрос, что вы пытаетесь для этого. Большинство языков, на которых есть парсер JSON, не заботятся о том, в каком порядке находятся пары. – 2010-11-28 23:46:10
@Mark reverse() - метод массива - и у вас есть объекты. Кроме того, вы хотите создать «другой массив», но то, что вы получили, это не массивы, а простые объекты. – 2010-11-28 23:46:47
@Mark Я думаю, что оба фрагмента кода создадут объекты с теми же характеристиками. Как только литералы объекта оцениваются, информация о порядке свойств в литерале теряется. – 2010-11-28 23:52:11