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递归和数组去重(简单便捷的用法)的更多相关文章

  1. js小知识-数组去重

    查看zepto源码时,看到它的数组去重写法非常简单.下面是代码 var uq = function(array){ return [].filter.call(array,function(item, ...

  2. js面试题-数组去重

    今天,在聊天群里看到数组去重的话题,面试者的答案如下: 参考答案如下: 程序员思维,做出如下测试: 未考虑到:1,‘1’是不同的,应该不去重 未考虑到对象 所以,参考答案只能去重基础类型 根据以往看过 ...

  3. ES6 set和map数据结构对对象数组去重简单实现

    自从有了es6的set数据结构,数组的去重可以简单用一行代码实现,比如下面的方式 let arr = [1, 2, 2, 3, 4] function unique (arr) { return [. ...

  4. js冒泡排序,数组去重

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. js冒泡排序和数组去重

    1.冒泡排序 <script>//声明一个数组 var arr=[1,88,66,22,35,65,4,52];//自执行函数 (function maopao(){ for(var i= ...

  6. 【 js 算法类】数组去重

    以 var arr = [1,2,3,1]; 作为测试用例 方法一:双循环   (时间复杂度比较高,性能一般.) A.(1) function unique(arr) { var newArr = [ ...

  7. js常用的数组去重方法

    给出以下数组 var arr1 = new Array('1','2','3','3','5','4','5','6','5','5','88'); 实现对数组的去重 1. 双重for循环去重 Arr ...

  8. js两个数组去重后,绑定控件,并支持模糊搜索数组项以及数组互移

    设计大概是这个样子的,很简单,两个div,两个互移按钮,一个搜索框,要求搜索框输入时,触发待选框的搜索项 <input class="form-control" placeh ...

  9. Js里面的数组去重方法

    去掉数组里面重复的有很多种,我这里就说一种比较简单的吧. var arr=[23,33,44,33,44,66,44,55,44,4,44,33,23]; for(var i=0;i<arr.l ...

随机推荐

  1. poj 3461 Oulipo(kmp统计子串出现次数)

    题意:统计子串出现在主串中的次数 思路:典型kmp #include<iostream> #include<stdio.h> #include<string.h> ...

  2. 让振动器振动起来——Vibrator的使用

    AndroidManifest.xml 获取系统权限 <uses-permission android:name="android.permission.VIBRATE"/& ...

  3. 【hdu 4374】One Hundred Layer

    [题目链接] 点击打开链接 [算法] 不难看出,这题可以用动态规划来解决 f[i][j]表示第i行第j列能够取得的最大分数 则如果向右走,状态转移方程为f[i][j]=max{f[i-1][k]+a[ ...

  4. 【BZOJ 3224】 普通平衡树

    [题目链接] 点击打开链接 [算法] 本题是Splay模板题,值得一做! [代码] #include<bits/stdc++.h> using namespace std; #define ...

  5. Linux环境下在Tomcat上部署JavaWeb工程

    本文讲解如何将我们已经编译好的JavaWeb工程在Linux环境下的Tomcat上进行部署,总体上的思路是和Windows下JavaWeb项目部署到tomcat差不多,具体步骤和命令如下. 注:部署之 ...

  6. apple-touch-startup-image 制作iphone web应用程序的启动画面

    为ipad制作web应用程序的启动画面时发现个问题,只能显示竖屏图,横屏图出不来,如下: 首先页面头部里要加入(这个是APP启动画面图片,如果不设置,启动画面就是白屏,图片像素就是手机全屏的像素) & ...

  7. 任务50:Identity MVC:DbContextSeed初始化

    任务50:Identity MVC:DbContextSeed初始化 首先添加seed 每次应用程序启动,监测一下,是否是第一次启动.如果是第一次执行,我们需要在数据库内添加一个记录 比如说我们的用户 ...

  8. Cardboard对像的公共方法与属性

    一.  public Pose3D EyePose(Eye eye)/// The transformation from head to eye. 获取眼睛在头部坐标系中的局部transform: ...

  9. 两分钟彻底让你明白Android Activity生命周期(图文)!(转载)

    转自:http://kb.cnblogs.com/page/70125/ 大家好,今天给大家详解一下Android中Activity的生命周期,我在前面也曾经讲过这方面的内容,但是像网上大多数文章一样 ...

  10. loj#2540. 「PKUWC2018」随机算法

    传送门 完了pkuwc咋全是dp怕是要爆零了-- 设\(f(S)\)表示\(S\)的排列数,\(S\)为不能再选的点集(也就是选到独立集里的点和与他们相邻的点),\(mx(S)\)表示\(S\)状态下 ...