Php循环函数嵌套javascript,JS循环嵌套问题?
从arr中挑选出来需要保存的(arr.length - count)所有可能的组合,然后再从原数组中挑选出来所有可能的(count)补充组合,然后拼在一起去重就行了。
(async ()=>{
let vari = ['A','T','C','G'];
function change(arr, count = 1){
arr = arr.map(a=>vari.indexOf(a)).sort(); // convert to int array, for easier sorting in future
var prefix = combination(arr, arr.length - count);
var suffix = combination([0,1,2,3], count);
var res = prefix.length === 0 ? suffix : prefix.map(p=>suffix.map(s=>[...p, ...s])).reduce((a,b)=>[...a,...b], []);
var existing = arr.join(",");
res = res
.filter(r=>new Set(r).size === r.length) // filter out ones with duplicated items, like ["A","A","C"]
.map(r=>r.sort()) // order items, so ["C","A"] becomes ["A", "c"]
.sort() // sort, just make it looks prettier
.reduce((a,b)=>{ // remove duplicated combinations, keep only one
if(a[b.join(",")] === void 0){
a.arr.push(b);
a[b.join(",")] = 0;
}
return a;
}, {arr: []}).arr
.filter(r=>r.join(",") !== existing);
return res.map(r=>r.map((i)=>vari[i]));// convert back to letters
}
function combination(src, pick){
if(pick > src.length){
return [];
}
if(pick === 1){
return src.map(s=>[s]);
}
var res = [];
for(var i=0;i
for(var r of combination(src.slice(i+1), pick - 1)){
res.push([src[i], ...r]);
}
}
return res;
}
console.log(change(["G","A","C"], 2));
})();
output [A,T,C],[A,T,G],[T,C,G]
Php循环函数嵌套javascript,JS循环嵌套问题?相关推荐
- vue.js根据数据循环生成表格_vue.js循环for(列表渲染)详解
vue.js循环for(列表渲染)详解 一.总结 一句话总结: v-for {{ item.message }} var example1 = new Vue({ el: '#example-1', ...
- html js 循环取json数据,JS循环遍历JSON数据的方法
JS循环遍历JSON数据 本文提供了 JS 循环 JSON 数据列,以及 JS 循环遍历 JSON 数据的例子,供大家学习参考. 1. json数据的列循环 var len = json.length ...
- c语言do循环函数,C语言do-while循环
本篇文章帮大家学习c语言do-while循环,包含了C语言do-while循环使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. 要执行程序或代码的一部分几次或多次,我们可以 ...
- js循环绑定事件问题及解决方法
js初学者经常遇到的循环绑定事件问题 js循环绑定事件 在编写JS代码的时候,我们经常会遇到要对一系列元素进行事件绑定的情况,然后就会理所当然的开一个for循环,对元素的事件进行赋值等操作,最后运行的 ...
- html中写嵌套的js函数,Javascript 嵌套函数 - 递归函数 - 内置函数详解
在了解了函数的定义和函数调用外,下面我们来介绍一下JavaScript中几种特殊的函数. JavaScript特殊函数有3种: (1)嵌套函数: (2)递归函数: (3)内置函数: 下面详细给大家讲解 ...
- 在html中写for循环表格trtd,嵌套的HTML表格在javascript for循环
我想在第一列创建一个表格,并在for循环中包含第一列中的文本和重复的HTML表格(id'questable').我不知道如何将重复的HTML表格与文档HTML的其余部分分离.当在第二个createTe ...
- js循环动态绑定带参数函数遇到的问题及解决方案[转]
今天写原生javascript时,想利用绑定事件实现类似jquery中on方法的功能:于是有了for循环里绑定事件,无意中发现定义类能解决好多问题! 例如:一个不确定长度的列表,在鼠标经过某一条的时候 ...
- python笔记5 - 字符串格式化表达式,while语句嵌套,for循环,break,continue,死循环
2017/9/29 字符串格式化表达式,while语句嵌套,for循环,break,continue,死循环 ============================================= ...
- scala条件替换_scala - 有没有办法用scala中的高阶方法替换嵌套的For循环 - SO中文参考 - www.soinside.com...
有没有办法用scala中的高阶方法替换嵌套的For循环 问题描述 投票:0回答:1 我有一个mutableList,并希望获取所有行的总和,并根据某些条件将其行替换为其他值.下面的代码对我来说工作正常 ...
最新文章
- mybatis log4j打印sql
- JavaScript之Style属性学习
- CSS的px、em、rem、%、vw、vh、vm 单位区别
- 二维数组 赋值_3.9数组(数组基本使用、数组的循环、数组拷贝、数组排序、多维数组)...
- openssh登陆时提示服务器拒绝了密码
- poj1681 Painter's Problem高斯消元
- python模块学习之glob模块
- Java泛型用于方法,类和接口
- oracle用户编辑文件中文乱码
- 老spring3.2版本 redistemplate 报错_植物大战僵尸加强版本
- Java8新特性总结 - 序
- Python中一定要注意的那些“坑”(三)
- Android 代码动态生成ProgressBar
- 具有动态效果的响应式设计
- Linux电源驱动-Linux Cpuidle Framework
- 双极性根升余弦信号qpsk_基于CCSDS协议的中频信号源设计与实现
- struts+spring action应配置为scope=prototype
- disp语句怎么格式 matlab_matlab输出语句print
- Android系统源代码目录
- 内网网段范围_局域网网段到底是什么意思?怎么划分的啊?为什么要划分网段?...