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 ...
随机推荐
- Struts2访问Servlet API的几种方式
struts2提供了三种方式访问servlet API:大致分为两类 1. ActionContext: public static ActionContext getContext() :获得当前 ...
- vue-resource 设置请求的参数以formData形式以及设置请求的过滤器
在main.js中添加下面的设置: Vue.http.options.emulateJSON = true;Vue.http.options.headers = {'Content-Type': 'a ...
- 笔记本电脑处理器(CPU)性能排行榜
笔记本电脑处理器(CPU)性能排行榜 本排行榜随新款处理器(CPU)的发布而随时更新.更新日期:2012年7月15日 排名 型号 二级+三级缓存 前端总线(MHz) 功率(瓦) 主频(MHz) 核 ...
- C. Vanya and Scales
time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...
- SCUT - 244 - 全新的游戏 - 凸包
https://scut.online/p/244 除了常规的求凸包求面积,还有一个判断点在凸包内,先找出点所在的三角扇区. #include<bits/stdc++.h> using n ...
- SCUT - 249 - A piece of Cake - 组合数学
https://scut.online/contest/25/I 由结论:d维物体切n刀分成的部分=sum(C(n,0)~C(n,d)),直接算就行了.
- C++笔试题库之编程、问答题 200~300道
201下面的代码有什么问题?并请给出正确的写法. void DoSomeThing(char* p) { char str[16]; int n; assert(NULL != p); sscanf( ...
- HDOJ1864(水的可怜)
注意这句话:精确到小数点后两位如果是小数点的话 HDOJ1864 #include<stdio.h> #include<iostream> #include<algori ...
- (DP)51NOD 1002 数塔取数
一个高度为N的由正整数组成的三角形,从上走到下,求经过的数字和的最大值. 每次只能走到下一层相邻的数上,例如从第3层的6向下走,只能走到第4层的2或9上. 5 8 4 3 6 9 7 ...
- pycharm 激活码激活
http://idea.lanyus.com/ 去这个网站获取激活码,输入即可,亲测可用