並べ替えしようとしたとき、私はjQueryのDataTableのに
に関連した午前かなり具体的な問題となっている例です。 より良い調査のためにコードを共有してください。
また 作業自然分類アルゴリズムの実装をチェックしたい場合は、
抜粋:さらに理解するために
for(var cLoc=0, numS=Math.max(xN.length, yN.length); cLoc < numS; cLoc++) {
// find floats not starting with '0', string or 0 if not defined
oFxNcL = isNaN(xN[cLoc]) ? xN[cLoc] || 0 : parseFloat(xN[cLoc]) || 0;
oFyNcL = isNaN(yN[cLoc]) ? yN[cLoc] || 0 : parseFloat(yN[cLoc]) || 0;
// handle numeric vs string comparison - number < string
if (isNaN(oFxNcL) !== isNaN(oFyNcL)) { return (isNaN(oFxNcL)) ? 1 : -1; }
// rely on string comparison if different types - i.e. '02' < 2 != '02' < '2'
else if (typeof oFxNcL !== typeof oFyNcL) {
oFxNcL += '';
oFyNcL += '';
}
if (oFxNcL < oFyNcL) return -1;
if (oFxNcL > oFyNcL) return 1;
}
この正規表現をd、e、fのための特別なケースを持っているように見えるこのJSFiddle
あなたは投稿できますこれを示すコードサンプル? – Halcyon
ありがとう@Halcyon – Char
そのコードは少し怖いです。私はナチュラルソートをやっているだけではなく、日付別にソートしようとします。この行: '/(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+ $ | [0-9] +)/ gi、 'は' df'と 'e'のために何らかの例外を含んでいるようです。これが見つかった場合:https://github.com/Bill4Time/javascript-natural-sort/blob/master/naturalSort.jsあなたが投稿したバージョンのように見えますが、それは新しいものであり、バグを含んでいない可能性があります。 – Halcyon