Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで小数点付きの文字列を並べ替える


次のような文字列の配列があるとします-

const arr = [ '.0', '.1', '.2', '.4', '.2.1', '.3', '.4.1', '.5', '.5.1.5' ];

そのような配列を1つ取り込むJavaScript関数を作成する必要があります。私たちの関数は、単純に配列を昇順で並べ替える必要があります(素人から見た場合)。

これは、「。0」、「。1」、「。2」などの文字列を意味します。したがって、並べ替えると、配列は次のようになります-

const output = [ '.0', '.1', '.2.1', '.2, '.3', '.4', '.4.1', '.5', '.5.1.5' ];

このためのコードは-

になります
const arr = [ '.0', '.1', '.2', '.4', '.2.1', '.3', '.4.1', '.5', '.5.1.5' ];
const compare = (a, b) => {
   if (a === b) {
      return 0
   };
   const aArr = a.split("."), bArr = b.split(".");
   for (let i = 0; i < Math.min(aArr.length, bArr.length); i++) {
      if (parseInt(aArr[i]) < parseInt(bArr[i])) {
         return -1
      };
      if (parseInt(aArr[i]) > parseInt(bArr[i])) {
         return 1
      };
   }
   if (aArr.length < bArr.length) {
      return -1
   };
   if (aArr.length > bArr.length) {
      return 1
   };
   return 0;
};
arr.sort(compare);
console.log(arr);

出力

そして、コンソールの出力は-

になります
[
   '.0', '.1',
   '.2', '.2.1',
   '.3', '.4',
   '.4.1', '.5',
   '.5.1.5'
]

  1. JavaScriptを使用してアクセント付き文字を含む文字列を並べ替える方法は?

    以下は、JavaScriptでアクセント付き文字を含む文字列を並べ替えるコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style&g

  2. JavaScriptでのテンプレート文字列のネスト

    以下は、JavaScriptでテンプレート文字列をネストするためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>