为了账号安全,请及时绑定邮箱和手机立即绑定

js数组中对象排序问题

js数组中对象排序问题

弑天下 2018-07-31 13:18:50
自定义的函数function outFn(arg){            return function(obj1,obj2){                var value1 = obj1[arg];                var value2 = obj2[arg];                if(value1<value2){                    return -1;                 }else if(value1>value2){                    return 1;                 }else{                    return 0;                 }             }         }声明一个数组:var data = [{name:"a",age:28},{name:"b",age:18}];调用data.sort()方法后data.sort(outFn("age"));     //按照age排序           console.log(data);          //=>[{name:"a",age:28},{name:"b",age:18}]           console.log(data[0].age);   //=>18                  data.sort(outFn("name"));    //按照name排序         console.log(data);           //=>[{name:"a",age:28},{name:"b",age:18}]         console.log(data[0].age);   //=>28把最后3行注释,按照age排序中是正常的console.log(data); //=> [{name:"b",age:18},{name:"a",age:28}]不理解红色的地方,求高手解答。
查看完整描述

1 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

console.log打印在控制台的值,是点击控制台后计算得到的(也就是最后生成的),developer tools已经提示清楚了“Value below was evaluated just now",另外console在MDN上标明不是标准,各个浏览器实现方式不一样,你可以试一下console.table(data)就知道了,要打印及时值应该console.log(JSON.stringify(data));


查看完整回答
反对 回复 2018-08-20
  • 1 回答
  • 0 关注
  • 1356 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信