javascript对有空字符串的列表排序

JavaScript011

javascript对有空字符串的列表排序,第1张

var arr=["","","","hello","","ok",""]

var arr1=arr.sort((a,b)=>a==""?1:b==""?-1:a>b?1:-1)

console.log(arr1)

我看有jQuery的语法,就用jQuery类似的,输入的时间没有去校验,格式如2011-4-19 11:35:11

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>jQuery</title>

<script language="javascript" type="text/javascript" src="js/jquery-1.4.4.js" ></script>

<script type="text/javascript">

$(document).ready(function()

{

$("#b").click(function(){

var dueDate = $("#dueDate").val()

$("#t tr").each(function(i){

if(!compareTime($("td:eq(1)",this).html(),dueDate) &&i==0){ //输入时间小于第一行时间则直接插入到第一行前

$("#t tr").eq(i).before("<tr><td>content</td><td>"+ dueDate +"</td></tr>")

return false

}

else if($("#t tr").size()-1 >i){ //比较第二行到最后前一行,如果是在期间的,插入行

if(compareTime($("td:eq(1)",this).html(),dueDate) &&!compareTime($("#t tr").eq(i+1).find("td").eq(1).html(),dueDate)){

$("#t tr").eq(i+1).before("<tr><td>content</td><td>"+ dueDate +"</td></tr>")

return false

}

else{

return true

}

}

//输入时间大于所有行的,插入到最后

$("#t").append("<tr><td>content</td><td>"+ dueDate +"</td></tr>")

})

})

})

//时间比较函数

function compareTime(startDate, endDate) {

var startDateTemp = startDate.split(" ")

var endDateTemp = endDate.split(" ")

var arrStartDate = startDateTemp[0].split("-")

var arrEndDate = endDateTemp[0].split("-")

var arrStartTime = startDateTemp[1].split(":")

var arrEndTime = endDateTemp[1].split(":")

var allStartDate = new Date(arrStartDate[0], arrStartDate[1], arrStartDate[2], arrStartTime[0], arrStartTime[1], arrStartTime[2])

var allEndDate = new Date(arrEndDate[0], arrEndDate[1], arrEndDate[2], arrEndTime[0], arrEndTime[1], arrEndTime[2])

if (allStartDate.getTime() >= allEndDate.getTime()) {

return false

} else {

return true

}

}

</script>

</head>

<body>

<input type="text" id="dueDate" value="" /><button type="button" id="b">insert</button>

<table width="100%" border="0" cellspacing="0" cellpadding="0" id="t">

<tr>

<td>111</td>

<td>2011-04-19 11:20:00</td>

</tr>

<tr>

<td>aaa</td>

<td>2011-04-19 11:40:00</td>

</tr>

<tr>

<td>3xxx</td>

<td>2011-04-19 13:30:00</td>

</tr>

<tr>

<td>gfedd</td>

<td>2011-04-19 20:50:00</td>

</tr>

</table>

</body>

</html>