繁体   English   中英

如何在JavaScript中找到Spintax组合的变化数量?

[英]How to find number of variation of spintax combination in javascript?

假设我有一个Spintax:

A boy already has {a banana|an orange|an apple}, but he still want to eat more {ice cream|yogurt|cookie}.

我如何编写javascript或php来计算spintax的所有可能组合的数量。

这个概念是对每个卷曲对中由管道分隔的阶段进行计数,然后将它们相乘,但是我不知道该如何对阶段进行计数,您能建议我吗?

我试图寻找解决方案,但找不到任何东西。

 var a='A boy already has {a banana|an orange|an apple}, but he still wants to eat more {ice cream|yogurt|cookies} before going to {school|college}.'; var h=a.match(/{[^}]+}/g).map(m=>m.split('|').length).reduce((p,v)=>p*v); console.log('There are '+h+' possible combinations.') 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 

该脚本首先找到所有{}部分,并将它们收集在一个数组中。 然后使用map()对其进行扫描,以| split()每个元素| 然后返回结果子数组中元素的计数,并最终使用reduce()将所有计数合并到一个乘积中。

暂无
暂无

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

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