私は、要素がランダムに配列されたオブジェクトの配列を持っています。私はキーの特定の順序で値をリストしたいと思います。一例として、vを特定の順序で反復する方法は?
、ちょうどそれらを示しています下の反復:
var vm = new Vue({
el: "#root",
data: {
all: [{
second: 2,
third: 3,
first: 1
},
{
third: 30,
first: 10,
second: 20
}
],
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.3/vue.js"></script>
<div id="root">
<div v-for="a in all">
<div v-for="(v, k) in a">{{v}}</div>
</div>
</div>
は、それがキー(["first", "second", third"]
)のリストに従って順序付けされるように反復を駆動することができる、このされています
1
2
3
10
20
30
希望の順序で定義できないのはなぜですか? –
@JonathanBartlett:私はプログラムの外から(AJAX経由で)それらを取得し、その順序は不明です。 – WoJ
Vueドキュメント: オブジェクトを反復処理するとき、その順序はObject.keys()のキー列挙順序に基づいていますが、JavaScriptエンジンの実装間で一貫性があるとは限りません。 Vueは順序を保証しないネイティブのfor-inセマンティックを使用しているため、基本的には計算されたプロパティなしでは不可能です。 –