function __sort_number(list) {
var anum = list.sort(function __asort(a, b) {
return a > b ? 1 : a < b ? -1 : 0;
});
anum.reverse();
return anum;
}
// list = [1,5,3,6,2]
function evaluate_rank(list) {
var sorted_list = __sort_number(list);
// expected output : [6,5,3,2,1]
var my_return = {
'original' : list,
'sorted' : sorted_list
};
// expected output : { original : [1,5,3,6,2], sorted : [6,5,3,2,1] }
console.log(my_return);
// when i view the object on the console dev tools
// the arrays are sorted in ascending order
// but when i tried using a for loop to check the values
// being iterated is correct on sorted
for (var i = 0; i < my_return.sorted.length; i++) {
console.log(my_return.sorted[i]);
}
// expected output : 6 5 3 2 1
// actual output : 6 5 3 2 1
}
evaluate_rank([1,5,3,6,2]);
&#13;
是否应该在创建对象时进行任何设置 这样,如果我想查看保存在对象上的真实值 与我期望的价值相同,因此不会产生混淆。
答案 0 :(得分:0)
sort
方法后的返回值是可选的,sort
方法将对调用它的数组进行排序。
您可以在对数组应用排序之前复制该数组。
成功
var anum = JSON.parse( JSON.stringify( list ) ).sort(function __asort(a, b) {
return a > b ? 1 : a < b ? -1 : 0;
});
或您的用例和更好的表现
var anum = list.slice(0).sort(function __asort(a, b) {
return a > b ? 1 : a < b ? -1 : 0;
});