Сортировать v-for поверх объекта (Vue2) [дубликат]

1stkeks спросил: 03 ноября 2018 в 08:49 в: javascript

На этот вопрос уже есть ответ здесь:

  • Sorting an array of JavaScript objects 25 ответов
  • Sort JavaScript object by key 24 ответа

Я использую Vue2 и пытаюсь отсортировать v-for. Я выполняю итерации по объекту и состояниям vue-doc:

При итерации по объекту порядок основан на порядке перечисления ключей Object.keys (), который не гарантированно согласован в реализациях движка JavaScript.

My v-for без сортировки выглядит следующим образом:

<my-component :key="key + value + uid" 
v-for="(value,key) in myObject" :key-prop="key" 
:value-prop="value"></my-component>

Как бы это отсортировать, если Object.keys () не согласованы?

Редактировать: это пример объекта (возвращается из Rest-Service)

Консоль Chrome регистрирует это:

{
HUMID: "66%"
DAY: "true"
TEMP: "30"
}

Реальный объект намного больше.

Edit2:

С помощью "Оли Крит" я решил это. Я не смог рассчитать sortedObjects как вычисляемое свойство в моем случае, но я вызвал его при получении ответа моей службы отдыха.

sortObject: function() {
    this.myObjectSorted =  Object.keys(this.myObject).sort();
}

Это приводит к следующему Object:

{
0: "DAY"
1: "HUMID"
2: "TEMP"
}

Взяв значение этого отсортированного объекта в качестве ключевой подпорки и получив фактическое значение (66%, true, 30) несортированного объекта с помощью

myObject[value]

Я получил желаемый результат.

<my-component :key="key + value + uid" 
v-for="(value,key) in myObjectSorted" :key-prop="value" 
:value-prop="myObject[value]"></my-component>

0 ответов