繁体   English   中英

Javascript程序为两个不同长度的数组找到长度为2的组合

[英]Javascript program to find combination of length 2 for two arrays of different lengths

我有两个数组['b','c','d','e'] & ['h','i','k','l','m','n']我想使用 Javascript/AngularJS 程序为上面的数组找到长度为 2 的组合。 例如

['bh','bi','bk','bk','bl','bm','bn','ch,'ci','ck' ...]

这是函数式编程ES6 解决方案:

 var array = ['b','c','d','e']; var array2 = ['h','i','k','l','m','n']; var result = array.reduce( (a, v) => [...a, ...array2.map(x=>v+x)], []); console.log(result); /*---------OR--------------*/ var result1 = array.reduce( (a, v, i) => a.concat(array2.map( w => v + w )), []); console.log(result1); /*-------------OR(without arrow function)---------------*/ var result2 = array.reduce(function(a, v, i) { a = a.concat(array2.map(function(w){ return v + w })); return a; },[] ); console.log(result2); /*----------for single array------------*/ var result4 = array.reduce( (a, v, i) => [...a, ...array.slice(i+1).map(x=>v+'-'+x)], []); console.log(result4);

使用嵌套的Array.map()调用并组合字母。 通过扩展Array.concat()平数组:

 const arr1 = ['b','c','d','e']; const arr2 = ['h','i','k','l','m','n']; const result = [].concat(...arr1.map((l1) => arr2.map((l2) => l1 + l2))); console.log(result);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM