js递归和数组去重(简单便捷的用法)
1.递归例子
<script type="text/javascript">
function test(num) {
if(num < 0) {
return;
}
console.log('递归算法');
test(num - 1);
}
test(8); //打印九次 递归算法;
</script>
2.递归求和 1-100
<script type="text/javascript">
function Sum(num) {
if(num < 1) {
return num = 0;
}
console.log('递归算法'); //打印100次
return Sum(num - 1) + num
}
var a = Sum(100)
console.log(a) //结果是5050;
</script>
3.递归阶乘 5 (5*4*3*2*1)
<script type="text/javascript">
function Sum(num) {
if(num <= 1) {
return 1;
}
console.log('递归算法');
return num*Sum(num - 1); //5 4 3 2 1 0
}
var a = Sum(5);
console.log(a); //
</script>
4.数组去重 indexOf()
<script type="text/javascript">
var arr = [1, 2, 3, 4, 3, 6, 78, 8];
function dele() {
var newArry = [];
for(var i = 0; i < arr.length; i++) {
if(newArry.indexOf(arr[i]) == -1) {
newArry.push(arr[i])
}
}
console.log(newArry) //[1, 2, 3, 4, 6, 78, 8];
}
dele();
</script>
5.拓展运算符(...)内部使用for...of循环
<script type="text/javascript">
let arr = [1, 2, 2, 3, 3];
let newArry = [...new Set(arr)];
console.log(newArry); //[1,2,3]
</script>
js递归和数组去重(简单便捷的用法)的更多相关文章
- js小知识-数组去重
		查看zepto源码时,看到它的数组去重写法非常简单.下面是代码 var uq = function(array){ return [].filter.call(array,function(item, ... 
- js面试题-数组去重
		今天,在聊天群里看到数组去重的话题,面试者的答案如下: 参考答案如下: 程序员思维,做出如下测试: 未考虑到:1,‘1’是不同的,应该不去重 未考虑到对象 所以,参考答案只能去重基础类型 根据以往看过 ... 
- ES6 set和map数据结构对对象数组去重简单实现
		自从有了es6的set数据结构,数组的去重可以简单用一行代码实现,比如下面的方式 let arr = [1, 2, 2, 3, 4] function unique (arr) { return [. ... 
- js冒泡排序,数组去重
		<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ... 
- js冒泡排序和数组去重
		1.冒泡排序 <script>//声明一个数组 var arr=[1,88,66,22,35,65,4,52];//自执行函数 (function maopao(){ for(var i= ... 
- 【 js 算法类】数组去重
		以 var arr = [1,2,3,1]; 作为测试用例 方法一:双循环 (时间复杂度比较高,性能一般.) A.(1) function unique(arr) { var newArr = [ ... 
- js常用的数组去重方法
		给出以下数组 var arr1 = new Array('1','2','3','3','5','4','5','6','5','5','88'); 实现对数组的去重 1. 双重for循环去重 Arr ... 
- js两个数组去重后,绑定控件,并支持模糊搜索数组项以及数组互移
		设计大概是这个样子的,很简单,两个div,两个互移按钮,一个搜索框,要求搜索框输入时,触发待选框的搜索项 <input class="form-control" placeh ... 
- Js里面的数组去重方法
		去掉数组里面重复的有很多种,我这里就说一种比较简单的吧. var arr=[23,33,44,33,44,66,44,55,44,4,44,33,23]; for(var i=0;i<arr.l ... 
随机推荐
- 通过Oracle sql developer从sqlserver迁移数据到oracle
			通过Oracle sql developer工具从sqlserver迁移数据到oracle 序言 一般情况下,sqlserver数据迁移到oracle,我们可以使用ODI来进行.但ODI的安装.配置. ... 
- HDU - 1054 Strategic Game(二分图最小点覆盖/树形dp)
			d.一颗树,选最少的点覆盖所有边 s. 1.可以转成二分图的最小点覆盖来做.不过转换后要把匹配数除以2,这个待细看. 2.也可以用树形dp c.匈牙利算法(邻接表,用vector实现): /* 用ST ... 
- 书写优雅的shell脚本(六)- shell中的命令组合(&&、||、())
			shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 $? 中.当 $? == 0 时,表示执行成功:当 $? == 1 时,表示执行失败. 有时候,下一条命令依赖前 ... 
- Top的VIRT是什么
			Top命令监控某个进程的资源占有情况 下面是各种内存: VIRT:virtual memory usage 1.进程“需要的”虚拟内存大小,包括进程使用的库.代码.数据等 2.假如进程申请1 ... 
- 洛谷 P1337 平衡点 & bzoj 3680 吊打 XXX —— 模拟退火
			题目:https://www.luogu.org/problemnew/show/P1337 https://www.lydsy.com/JudgeOnline/problem.php?id=3680 ... 
- nodejs supvisor模块
			在测试nodejs程序的时候,每次都需要在控制台编译,非常的麻烦.supervisor是一款无需重复手动编译,自动后台监听文件变化来自动编译,并且不需要在项目内require,使用非常的方便. 使用方 ... 
- java     try·····catch·····异常处理学习
			异常处理(又称为错误处理)功能 用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件). try....catch....只是异常处理的一种常用方法 try{ //可能导致异常 ... 
- MySQL命令行参数
			一,mysql命令行参数 Usage: mysql [OPTIONS] [database] //命令方式 -?, --help //显示帮助信息并退出 -I, --help ... 
- Swift3.0 字符串(string)
			string常用的一些操作方式 //字符串 //1.初始化字符串 //1.1通过字面量赋值的方式初始化字符串 let tempStrig = "this is temp string&quo ... 
- python __builtins__ staticmethod类 (64)
			64.'staticmethod', 返回静态方法 class staticmethod(object) | staticmethod(function) -> method | | Conve ... 
