簡體   English   中英

在 Angularjs 中執行 foreach 循環時如何保持數組順序

[英]How to keep Array order when doing a foreach loop in Angularjs

當我執行 foreach 循環時,我的數組的順序總是會改變。 我怎樣才能保持數組的順序。

var array1 = [{id:1, name:'foo'},{id:2, name:'bar'},{id:3, name:'lol'}]

在我執行 foreach 並將其輸出到新數組后,順序有時會改變

var array2 = [];

angular.forEach(array1, function(post) {
  //for brevity i'll just keep it simple
   var sample = {id:post.id, name:post.name};
   array2.push(sample);
});

//OUTPUT
var array2 = [{id:3, name:'lol'},{id:1, name:'foo'},{id:2, name:'bar'}]

我的問題是如何在不更改順序的情況下進行迭代。

對 Array 的迭代保證是有序的 字典不是這樣。 如果你想創建一個新數組,你可以簡單地做這樣的事情:

var array2 = array1.map(function(post) {
    return {id: post.id, name: post.name};
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM