IE陣列排序問題的處理

2022-02-20 14:34:15 字數 1238 閱讀 9402

先來簡單的:

var k = ["a","a","123"];

k.sort();

console.log(k);

結果:123,a,a元素是物件的:

var t = ;

var tmp = new object();

tmp.id = "batch_add_api_ticket";

tmp.val = "a"

t.push(tmp);

tmp = new object();

tmp.id = "timestamp";

tmp.val = "b"

t.push(tmp);

tmp = new object();

tmp.id = "nonce_str1";

tmp.val = "12"

t.push(tmp);

tmp = new object();

tmp.id = "card_id";

tmp.val = "d213"

t.push(tmp);

t.sort(function(e,t));

var c="";

for(i in t)c+=t[i].val;

console.log(c);

ie9結果:ab12d123chrome結果:12abd123ie又增加了乙個槽點,或許是有什麼我等菜鳥不懂的玄雞??

各種搜尋無果,於是自己給array增加乙個氣泡排序(字典序)功能

array.prototype.sort2 = function(fn); 

for(var i=0; i0)

} } return this;

};

經測ie和chrome結果一致,打完收工碎覺。

等等,怎麼有個undefined。。

仔細看看,原來拼接字串時用了for in迴圈,for..in迴圈計數器是字串,而不是for迴圈中的數字,它會把prototype中的方法或屬性給遍歷出來(好強大),於是,我們還要判斷一下

for(var i in t)

}

嗯,輸出終於正常了。碎覺碎覺。

IE問題修復的批處理

echo off rundll32.exe advpack.dll delnoderundll32 systemroot system32 dacui.dll rundll32.exe advpack.dll delnoderundll32 systemroot catroot icatalog.m...

陣列的排序問題。

程式的版權和版本宣告部分 檔名稱 array.cpp 作 者 董萬鵬 完成日期 2012 年12月2 日 版本號 v1.0 輸入描述 無 問題描述 冒泡法排列陣列 include using namespace std void bubble sort int x,int num void outp...

陣列的排序問題

蘋果給出的例子 nsarray sortedarray array sortedarrayusingcomparator id obj1,id obj2 if obj1 integervalue obj2 integervalue return nscomparisonresult nsordere...