を持つ各指定されたキーのための新しいオブジェクトを作成しますが、そうのように、CSVファイルから引っ張っ:配列:私はオブジェクトの配列を持っている価値
const data = [
{ name: 'p1', 'date started': 'April 2007', Houston: '375', Dallas: '508', Austin: '', 'El Paso': '1232' },
{ name: 'p2', 'date started': 'April 2017', Houston: '', Dallas: '', Austin: '', 'El Paso': '43' },
{ name: 'p3', 'date started': 'June 2012', Houston: '18789', Dallas: '', Austin: '8977', 'El Paso': '6754656' },
{ name: 'p4', 'date started': 'December 2015', Houston: '878', Dallas: '4556', Austin: '987', 'El Paso': '1456232' }
]
私はいくつかのグラフや表を作成していますデータ、および2つの新しいキー、「場所」と「価値」を作成し、各オブジェクト内の各位置の値のための新しいオブジェクトを作成する必要があり、このように:
const newData = [
{ location: 'Houston', value: '375', name: 'p1', 'date started': 'April 2007' },
{ location: 'Dallas', value: '508', name: 'p1', 'date started': 'April 2007' },
{ location: 'El Paso', value: '1232', name: 'p1', 'date started': 'April 2007' },
{ location: 'El Paso', value: '43', name: 'p2', 'date started': 'April 2017' },
{ location: 'Houston', value: '18789', name: 'p3', 'date started': 'June 2012' },
{ location: 'Austin', value: '8977', name: 'p3', 'date started': 'June 2012' },
{ location: 'El Paso', value: '6754656', name: 'p3', 'date started': 'June 2012' },
{ location: 'Houston', value: '878', name: 'p4', 'date started': 'December 2015' },
{ location: 'Dallas', value: '4556', name: 'p4', 'date started': 'December 2015' },
{ location: 'Austin', value: '987', name: 'p4', 'date started': 'December 2015' },
{ location: 'El Paso', value: '1456232', name: 'p4', 'date started': 'December 2015' }
]
私は前に似たようなプロジェクトのためにこれをしなければなりませんでした短い時間で終了し、元のCSVファイルを手動で編集することになりました。私はむしろそれをやり直したいと思う。これまでmap/forEachとObject.keysのさまざまな組み合わせを試しましたが、運がありません。
どのようなアイデアも大歓迎です!
レバーは、うまく動作し、私に時間を節約します!感謝万円! –
@ JoshuaSwiss:実際には、フロー制御の代わりに論理演算子を使用しないでください。あなたはコードを読む必要がある人々から深刻なプッシュバックを受けるでしょう。より賢明な解決策は次のようになります:https://jsfiddle.net/5fvLc8mm/適切なフロー制御を使用して、除外されたキー配列の繰り返し割り当てを避け、 'o [k]'真実です。これらのことは、コードが分かりやすくレイアウトされているとはるかに簡単です。 – llama
素敵な仕事!それははるかにクリーンです。ありがとう! –