试图从我知道的数组中获得最高和最低值只包含整数似乎比我想象的要难.
var numArray = [140000, 104, 99];
numArray = numArray.sort();
alert(numArray)Run Code Online (Sandbox Code Playgroud)
我希望这能表明99, 104, 140000.相反它显示104, 140000, 99.所以似乎排序是将值作为字符串处理.
有没有办法让sort函数实际对整数值进行排序?
在Chrome 14和Firefox 5(尚未测试其他浏览器)中,以下代码未正确排序数字:
<script>
a = new Array();
a.push(10);
a.push(60);
a.push(20);
a.push(30);
a.push(100);
document.write(a.sort())
</script>
Run Code Online (Sandbox Code Playgroud)
它返回10,100,20,30,60
我尝试了不同的数字,它总是表现为0不在那里,否则正确排序数字.谁知道为什么?
我使用Phonegap为Android和iPhone等移动设备创建了一个fullcalendar应用程序.我正在使用Jquery Touch Punch插件和Jquery fullcalendar插件.fullcalendar的'select'方法在网上运行良好.我可以在Web浏览器上的完整日历的月视图中选择多个单元格.但是,在原生的android/iPhone应用程序上,我无法选择日历的多个单元格(日期范围).所有这一切都发生在我单击单元格以选择日期范围时,然后在允许我在设备上选择多个日期之前触发"选择"方法.反正有没有克服这个问题?先感谢您.这是Jsfiddle.
示例代码:
// FullCalendar v1.5
// Script modified from the "theme.html" demo file
$(document).ready(function() {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
$('#calendar').fullCalendar({
theme: true,
header: {
left: 'prev,next today',
center: 'title',
right: 'month'
},
editable: true,
disableDragging: true,
disableResizing: true,
droppable: true,
drop: function( date, allDay, jsEvent, ui ){
console.log(jsEvent);
console.log(ui);
},
// add event name to title attribute on mouseover
eventMouseover: …Run Code Online (Sandbox Code Playgroud) jquery jquery-plugins jquery-selectors fullcalendar jquery-mobile
以下是代码:
<script type="text/javascript">
function sortNumber(a,b)
{
return a - b;
}
var n = ["10", "5", "40", "25", "100", "1"];
document.write(n.sort(sortNumber));
</script>
Run Code Online (Sandbox Code Playgroud)
我发现这是w3school没有解释所有!sortnumber函数是排序数字的公式吗?什么是a和b,为什么它存在? 为什么n.sort(sortNumber)中的sortNumber没有指定a和b的任何参数?有人能解释一下吗?谢谢!!
如果我要运行"[6,3,8,7,5,2,1,9,4,0] .sort()"我得到"[0,1,2,3,4,5,6, 7,8,9]"作为你期望的输出.它将数字从最小到最大排序.但如果我要运行"[2,3,1,4e-20] .sort()",我会得到"[1,2,3,4e-20]"作为输出.为什么".sort()"函数将"4e-20"视为大于"3"?即使您运行"3> 4e-20",您也会得到"true"作为输出,表明JavaScript确实意识到"4e-20"是一个非常小的数字.但是sort函数将它视为一个非常大的数字.为什么是这样?是否有某些方法可以改变它,或者我只需要编写自己的函数?