注意:欢迎使用ES6,也可以使用Loash解决方案。
所以我有一个数组,每个数组只有两个 key: value
例如:
[{a: 1}, {b: 2}]
我想不出一个解决方案:它可以变成a_1_b_2
字符串。
您不能假设键或值,因此不能执行以下操作:
let obj = _.merge({}, ...arr);
return `a_${obj.a}_b_${obj.b}`;
因为键的可以是任何字符串,并且值可以是任何数字。数组中的对象将永远只有一个键和一个值,并且数组中将永远只有两个对象。
考虑到这一点,如何创建所需的字符串?
下面是lodash使用的组合解决方案lodash#flatMapDeep
,并lodash#toPairs
得到键和值,我们可以加入使用数组lodash#join
。
var array = [{a: 1}, {b: 2}];
var result = _(array).flatMapDeep(_.toPairs).join('_');
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句