【发布时间】:2013-11-15 02:09:27
【问题描述】:
其中数据是如下格式的元数组,
[
[
"qux doo",
"adsf",
"abcd",
"zzzz",
"898jwe9"
],
[
"abcd",
"xxrwu",
"urnr",
"pupupu",
"sdsdsd"
]
]
以下两种算法是否会针对不同的输入数据值产生不同的结果?
data.sort(function(a,b){
return (JSON.stringify(a) < JSON.stringify(b)) - (JSON.stringify(a) > JSON.stringify(b));
});
data.sort(function(a, b) {
for (var i = 0; i < Math.min(a.length, b.length); i++) {
if (a[i] < b[i]) return -1;
if (a[i] > b[i]) return 1;
}
return (a.length > b.length) - (a.length < b.length);
});
【问题讨论】:
-
为什么你会使用第一个?只是好奇为什么这个问题很重要。
-
因为它是通用的并且适用于非数组成员。
-
同意@jfriend00。第二个会更快
标签: javascript arrays algorithm sorting