Object.prototype.toString = function(){
var str = [];
for (var i in this){
str.push(i+':'+this[i]);
}
return str.join(',');
};
var arr = [{key:3,value:"three"},{key:1,value:"one"},{key:2,value:"two"}];
arr.sort(function(a,b){
return a.key - b.key;
});
alert(arr);
问题1:在这段代码中给全局对象添加了一个toString方法,这个方法有什么用么?for循环是如何循环数组str里面的对象的?
问题2:在arr这个数组里面是有三个对象么?{key:3,value:"three"},{key:1,value:"one"},{key:2,value:"two"}
问题3:return a.key - b.key;这个是如何排序的?
var str = [];
for (var i in this){
str.push(i+':'+this[i]);
}
return str.join(',');
};
var arr = [{key:3,value:"three"},{key:1,value:"one"},{key:2,value:"two"}];
arr.sort(function(a,b){
return a.key - b.key;
});
alert(arr);
问题1:在这段代码中给全局对象添加了一个toString方法,这个方法有什么用么?for循环是如何循环数组str里面的对象的?
问题2:在arr这个数组里面是有三个对象么?{key:3,value:"three"},{key:1,value:"one"},{key:2,value:"two"}
问题3:return a.key - b.key;这个是如何排序的?
解决方案 »
- 急急令~JS如何获取当前行的index值~
- js parent.appendChild(obj) 报参数错误,求指点...
- 浏览器不提示js错误
- 单选按钮{是否选种}验证
- 数米网首页每日净值的这个载入功能如何实现?
- mysapce里提示有新消息时状态栏和标题栏的闪动效果
- 如何实现 input中日期"-"符号不能修改 只能修改其中的数字????
- 如何实现自动弹出子菜单.
- JS如何实现延时加载?关于根据IP跳转相应的城市网站代码
- 如何用JAVASCRIPT传递表单域的变量到另外一个表单域中并显示出对应的字段值?(十万火急)
- js 中如何删除cookie 谢谢俺在线
- innerHTML无法显示网页问题
通过循环这个对象里面的属性,将每一个属性都加入到str这个数组中去,,最后在返回将每个选项用,号连接起来返回去一个字符串
问题2:可以这样理解。
问题三:这个好像是说的是你的排序是升序还是降序,看你的a。key和b.key谁大了
将 Array 的元素转换为字符串。结果字符串用逗号分隔,且连接起来,
for循环是如何循环数组str里面的对象的?
这里的for也就是循环arr这个数组,至于如何循环,我也不太了解。
问题2:arr是有3个json对象
问题3:如这个数组 只看key 那就是[3,1,2]
第1次 1 -3 1比3小所以得到 [1,3,2]
第2次 3 -1 1比3小所以得到 [1,3,2]
第3次 3 -2 2比3小所以得到 [1,2,3]
第4次 2 -1 1比2小所以得到 [1,2,3]
第5次 2 -3 2比3小所以得到 [1,2,3]
你可以调试这个方法监视a.key 和b.key
arr.sort(function(a,b){
return a.key - b.key;
});