先生の空気:
私はこれを行うための最善の方法を探しています。私は2つのアレイ(アレイ1d及び配列2D)を有します。
key = [1,2,3];
value = [['a','b','c'], ['d','e','f'], ['g','h','i']]
私が欲しい最終的な結果は、マップの配列です。
[{1:a,2:b,3:c},{1:d,2:e,3:f},{1:g,2:h,3:i}]
どのように私はそれがlodashを使用して最も効率的な/きれいな方法を行うのですか?ありがとう!
またはDrori:
値の配列をマッピングし、使用し_.zipObject()
たキーとキーと結合します:
const keys = [1,2,3];
const values = [['a','b','c'], ['d','e','f'], ['g','h','i']]
const result = values.map(v => _.zipObject(keys, v))
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>
あなたがlodashを使用する場合は/あなたと関数を生成することができfpを_.flow()
そのカレー_.zipObject()
とkeys
、とに渡し_.map()
。今、あなたが関数を呼び出すことができvalues
、オブジェクトの配列を取得するには:
const fn = _.flow(_.zipObject, _.map)
const keys = [1,2,3];
const values = [['a','b','c'], ['d','e','f'], ['g','h','i']]
const result = fn(keys)(values)
console.log(result)
<script src='https://cdn.jsdelivr.net/g/lodash@4(lodash.min.js+lodash.fp.min.js)'></script>