lodashを使用してオブジェクトに二つの配列(アレイ1d及び配列2D)をマージする方法

先生の空気:

私はこれを行うための最善の方法を探しています。私は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>

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=28432&siteId=1