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 ...
随机推荐
- HihoCoder1706 : 末尾有最多0的乘积(还不错的DP)
描述 给定N个正整数A1, A2, ... AN. 小Hi希望你能从中选出M个整数,使得它们的乘积末尾有最多的0. 输入 第一行包含两个个整数N和M. 第二行包含N个整数A1, A2, ... AN. ...
- 使用Pycharm官方统计代码行插件统计代码总行数
最近有需求,需要统计项目代码的总行数,首先想到了使用Pycharm官方的统计行数插件,发现效果还不错. 官方代码统计插件指导:https://plugins.jetbrains.com/plugin/ ...
- bzoj 1510 Kra-The Disks —— 思路
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1510 一个位置比上面还宽就没用了,而且会收到上面的限制,所以跟上面取 min 即可: 然后维 ...
- Code:zabbix 目录
ylbtech-Code:zabbix 目录 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 作者:ylbtech出处:http://y ...
- HashSet重复元素判断
HashSet不能添加重复的元素,当调用add(Object)方法时候,首先会调用Object的hashCode方法判hashCode是否已经存在,如不存在则直接插入元素:如果已存在则调用Object ...
- hdoj1575【矩阵快速幂】
题意:非常清晰! 直接搞吧. #include <iostream> #include <stdio.h> #include <string.h> #include ...
- 关于js变量作用域
先来看一段代码 var ss=1;function sss(){ alert(ss);}$(document).ready(function(){ var ss=2; alert(ss); sss() ...
- Springboot 配置 application.yml 连接MySQL数据库
1.在pom.xml的<dependencies></dependencies>标签中中加入以下依赖 <dependency> <groupId>org ...
- Ubuntu 设置文件默认打开的应用
右键单击该文件,然后点击属性,打开属性面板 然后进入open with的选项,选择应用后,点击 set as default
- 继续(3n+1)猜想 (25)
#include <algorithm> #include <iostream> using namespace std; int main(){ ] = { }; ], nu ...