JavaScriptでオブジェクトの配列を配列のオブジェクトに変換する
このようなオブジェクトの配列があるとします-
const nights = [ { "2016-06-25": 32, "2016-06-26": 151, "2016-06-27": null }, { "2016-06-24": null, "2016-06-25": null, "2016-06-26": null }, { "2016-06-26": 11, "2016-06-27": 31, "2016-06-28": 31 }, ];
そのような配列を1つ取り込んで、オブジェクトキーに基づいて配列のオブジェクトを構築するJavaScript関数を作成する必要があります。
したがって、上記の配列の出力は次のようになります-
const output = { "2016-06-24": [null], "2016-06-25": [32, null], "2016-06-26": [151, null, 11], "2016-06-27": [null, 31], "2016-06-28": [31] };
例
このためのコードは次のようになります:
const nights = [ { "2016-06-25": 32, "2016-06-26": 151, "2016-06-27": null }, { "2016-06-24": null, "2016-06-25": null, "2016-06-26": null }, { "2016-06-26": 11, "2016-06-27": 31, "2016-06-28": 31 }, ]; const arrayToObject = (arr = []) => { const res = {}; for(let i = 0; i < arr.length; i++){ const keys = Object.keys(arr[i]); for(let j = 0; j < keys.length; j++){ if(res.hasOwnProperty(keys[j])){ res[keys[j]].push(arr[i][keys[j]]); } else{ res[keys[j]] = [arr[i][keys[j]]]; } } }; return res; }; console.log(arrayToObject(nights));
出力
そして、コンソールの出力は-
になります{ '2016-06-25': [ 32, null ], '2016-06-26': [ 151, null, 11 ], '2016-06-27': [ null, 31 ], '2016-06-24': [ null ], '2016-06-28': [ 31 ] }
-
Javascript型の配列
JavaScript型の配列は配列のようなオブジェクトであり、生のバイナリデータにアクセスするためのメカニズムを提供します。 配列オブジェクトは動的に拡大および縮小し、任意のJavaScript値を持つことができます。 JavaScriptエンジンは、これらの配列が高速になるように最適化を実行します。 注 −型付き配列でArray.isArray()を呼び出すとfalseが返されるため、型付き配列を通常の配列と混同しないでください。さらに、通常の配列で使用できるすべてのメソッドが型付き配列でサポートされているわけではありません JavaScript型の配列は、バッファーとビューを使用して
-
JavaScript-配列オブジェクトの長さ
JavaScriptのlengthプロパティは、オブジェクトのサイズを返します。以下は、文字列および配列オブジェクトの長さのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document