在JavaScript中,字符串的比較,是字符按從左到右一一對(duì)應(yīng)比較的。
創(chuàng)新互聯(lián)從2013年創(chuàng)立,先為象州等服務(wù)建站,象州等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為象州企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
如:
"hello" "hi";
先對(duì)首字母"h"進(jìn)行比較。因?yàn)橄嗟?,所以再?duì)下一位進(jìn)行比較。
而單個(gè)字符的比較,實(shí)際上是ASCII碼的比較。
字母"e"的ASCII碼對(duì)應(yīng)編號(hào)是101,而"i"的對(duì)應(yīng)編號(hào)是105,所以 "e" "i" 會(huì)返回false。
對(duì)上面字符串的比較,可以拆分理解為:
"h" "h"
"e" "i"
"l" ""
"l" ""
"o" ""
因此,
"hello" "hi"; // return false
s中字符串比較值用==
不同類型間比較,==之比較“轉(zhuǎn)化成同一類型后的值”看“值”是否相等var str1="a";
var str2="b";
var str1="a";
if(str1 == str2)
{
}
s中字符串比較數(shù)據(jù)類型和值用===
===如果類型不同,其結(jié)果就是不等var str2="1";
var str2="b";
var str1="a";
if(str1 === str2)
{
}
js中字符串比較直接使用==號(hào)
示例:
var?a1="abc";//定義一個(gè)字符串a(chǎn)1
var?a2="bcd";//定義一個(gè)字符串a(chǎn)2
if(a1==a2){//比較兩個(gè)字符串是否相等
alert("相等");
}
sort?方法
arrayobj.sort(sortfunction)
可選項(xiàng)。是用來確定元素順序的函數(shù)的名稱。如果這個(gè)參數(shù)被省略,那么元素將按照?ASCII?字符順序進(jìn)行升序排列。
sort?方法將?Array?對(duì)象進(jìn)行適當(dāng)?shù)呐判?;在?zhí)行過程中并不會(huì)創(chuàng)建新的?Array?對(duì)象。
如果為?sortfunction?參數(shù)提供了一個(gè)函數(shù),那么該函數(shù)必須返回下列值之一:
負(fù)值,如果所傳遞的第一個(gè)參數(shù)比第二個(gè)參數(shù)小。
零,如果兩個(gè)參數(shù)相等。
正值,如果第一個(gè)參數(shù)比第二個(gè)參數(shù)大。
數(shù)組.sort(sortDOM)
function?sortDOM(a,b){
//A商品價(jià)格
var?priceNodeA=a.getElementsByClassName("price")[0];
//B商品價(jià)格
var?priceNodeB=b.getElementsByClassName("price")[0];
var?priceA=parseFloat(priceNodeA.innerHTML.substr(1))*1000;
var?priceB=parseFloat(priceNodeB.innerHTML.substr(1))*1000;
//數(shù)字大小比較,定義比較規(guī)則(原理:字符轉(zhuǎn)成ASCII值直接按數(shù)字比較大小)
//字符串放到數(shù)組中,用sort()方法默認(rèn)按ASCII?字符順序規(guī)則
//或者自己定義:比如截取每個(gè)字符串的第一個(gè)字符,轉(zhuǎn)成ASCII值,比較數(shù)字大小,這里的規(guī)則就隨便寫了
return?priceA-priceB;
}