我的数组在使用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'}]
我的问题是如何在不改变顺序的情况下进行迭代。
array1
确实是一个数组,那么这不应该发生。你能给我们展示一下你的服务实际返回的 JSON 响应吗? - JLRisheforEach
版本似乎可以正常工作。你为什么要使用Angular的版本而不是通常的版本?是否有特定的原因? - aug