数组所有情况的组合(mt面试题)

例如:var list = [['热', '冷', '冰'], ['大', '中', '小'], ['重辣', '微辣'], ['重麻', '微麻']];
效果如下:


image.png
var list = [['热', '冷', '冰'], ['大', '中', '小'], ['重辣', '微辣'], ['重麻', '微麻']];
function compose(list){
  var res = list.reduce( (result, property) => {
    return property.reduce( (acc, value) => {
        return acc.concat(result.map( ele => [].concat(ele, value)));
    }, []);
  });
  return res.map(arr=>arr.join('+'))
}
compose(list);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 十月的最后几天,寒冷绞杀着最后的温暖希望。每年的这个时候,我都会像无助的孩子,对着冬天一无所措。我想起了《寒风吹彻...
    修一云阅读 225评论 2 0
  • 有一天,故事森林举行运动会,乌龟和兔子商量着再比一次赛跑,就连小红帽和三只小猪们也都来了。 运动场上可真热闹,可是...
    大话心情阅读 1,032评论 5 8