当我执行 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'}]
我的问题是如何在不更改顺序的情况下进行迭代。
最佳答案
迭代数组保证在 order 中.字典不是这样。如果你想创建一个新数组,你可以简单地做这样的事情:
var array2 = array1.map(function(post) {
return {id: post.id, name: post.name};
});
关于javascript - 在 Angularjs 中执行 foreach 循环时如何保持数组顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33340045/