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

JavaScriptのキーの値でオブジェクトを昇順で並べ替える方法は?


次のオブジェクトがあるとします-

const obj = {
   "sub1": 56,
   "sub2": 67,
   "sub3": 98,
   "sub4": 54,
   "sub5": 87
};

そのようなオブジェクトを1つ取り込むJavaScript関数を作成する必要があります。次に、関数は、オブジェクトに存在する値の昇順でオブジェクトを並べ替える必要があります。そして最後に、このように形成されたオブジェクトを返す必要があります。

このためのコードは-

になります
const obj = {
   "sub1": 56,
   "sub2": 67,
   "sub3": 98,
   "sub4": 54,
   "sub5": 87
};
const sortObject = obj => {
   const sorter = (a, b) => {
      return obj[a] - obj[b];
   };
   const keys = Object.keys(obj);
   keys.sort(sorter);
   const res = {};
   keys.forEach(key => {
      res[key] = obj[key];
   });
   return res;
};
console.log(sortObject(obj));

出力

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

になります
{ sub4: 54, sub1: 56, sub2: 67, sub5: 87, sub3: 98 }

  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

  2. JavaScriptでオブジェクトの値を取得するにはどうすればよいですか?

    Object.values()などのメソッドがいくつかあります オブジェクトの値を取得します。しかし、これらの方法では、値を見つけるプロセスに時間がかかります。これを軽減するには、 Underscore.js javascriptのライブラリは、 _。values()と呼ばれるメソッドを提供しています 。このメソッドでは、値を実行するためにforループは必要ありません。これは、オブジェクトの値を実行するための直接的な方法です。 次の例では、オブジェクトの値は Object.values()を使用して実行されました。 方法。このメソッドにはforループが必要です 値を実行します。 例 &l