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写cookies根据浏览次数来限制按钮是打开连接还是弹出浮层呢?
- 鼠标移到小图片上后加载预览大图片,不知为什么预览的大图片层框大小无法改变?!
- 下拉框js问题
- 点<a href 标签在a href文字连接下显示一个菜单
- document.execCommand("UnSelect",false,null)火狐下为什么报错并不执行?
- javascript中字符串替换的函数?
- 点击IE浏览器的关闭按钮后,弹出一个确认框,如果选是,那么正常关闭,选择否,不关闭.如何实现
- 如何获取li的index值
- 请问一个上传图片的问题,不回传的问题~~谢~~
- 求一网页中的控件?
- 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;
});