JavaScript的6个算法实用小技巧

简介:

一、交换两个数字的值

我们交换两个数字的值想到的方法一般就是用一个新的变变量,让他把一个数存起来,然后在交换两个数字的值,看下面这种。

javascript的6个算法实用小技巧

二、数组的排序

1.数组方法中的sort排序方法。

javascript的6个算法实用小技巧

这是数组方法中的sort排序方法,如果return b - a; 就是由大到小排序,其中的原理是什么呢,其实就是冒泡排序法

2.冒泡排序法 (由小到大排列)

javascript的6个算法实用小技巧

3.选择升序法(由小到大排列)

javascript的6个算法实用小技巧

三、for in 循环 遍历json

我学习for in循环的时候是在学json的时候学到的,看下面这段代码。

1.for in循环遍历出json里面所有的属性名

javascript的6个算法实用小技巧

 2.我们打印出来的i会是json里面所有的属性名,那么他是怎么循环的呢,我当时一直不太清楚,你尝试一下下面这段代码看一下效果。

javascript的6个算法实用小技巧

我们在for in 循环的这一行给了一个分号结束语句,然后打印出来i我们会发现他是class2,现在你大概明白了吧,每一次循环这个i代表的就是json本次循环得到的属性名,他不是代表的一个数组,而是代表一个值。

3.for in 循环遍历出json里面所有的值

javascript的6个算法实用小技巧

四、for in循环遍历数组

javascript的6个算法实用小技巧

五、遍历json属性到数组

1.这个里面用到的是每一次用数组的长度来代表他的下标,然后将json里面的属性名遍历到a数组中。

javascript的6个算法实用小技巧

 2.遍历json的属性的值到数组中

javascript的6个算法实用小技巧

六、判断浏览器是不是IE678

javascript的6个算法实用小技巧

说出来你可能不信,

原理

1. 请你试一下 alert([1,2,].length)浏览器中弹窗的数字是多少

谷歌 火狐 一些的弹窗都是2,所以后面的那个逗号浏览器判断是不算的

但是在IE6 7 8 中弹窗出的数字是 3 ,

所以Number( [1,])这个东西在谷歌,火狐的眼中就是1,但是在IE678心中他就是NaN

2. 前面的 - 号 隐式转换为Number型

3 取反 判断内的值为true,所以可以在这里面判断成。


本文作者:一步一步向上爬

来源:51CTO

相关文章
|
4月前
|
算法 JavaScript 前端开发
JavaScript算法和数据结构:写一个二分查找的函数。
JavaScript算法和数据结构:写一个二分查找的函数。
32 0
|
4月前
|
JavaScript 前端开发 搜索推荐
JavaScript算法和数据结构:实现一个快速排序算法。
JavaScript算法和数据结构:实现一个快速排序算法。
24 0
|
前端开发 算法 JavaScript
JavaScript 数据结构与算法之美 - 非线性表中的树、堆是干嘛用的 ?其数据结构是怎样的 ?(下)
JavaScript 数据结构与算法之美 - 非线性表中的树、堆是干嘛用的 ?其数据结构是怎样的 ?(下)
93 0
JavaScript 数据结构与算法之美 - 非线性表中的树、堆是干嘛用的 ?其数据结构是怎样的 ?(下)
|
存储 前端开发 JavaScript
JavaScript 数据结构与算法之美 - 非线性表中的树、堆是干嘛用的 ?其数据结构是怎样的 ?(上)
JavaScript 数据结构与算法之美 - 非线性表中的树、堆是干嘛用的 ?其数据结构是怎样的 ?(上)
94 0
JavaScript 数据结构与算法之美 - 非线性表中的树、堆是干嘛用的 ?其数据结构是怎样的 ?(上)
|
机器学习/深度学习 JavaScript 算法
JavaScript 算法与数据结构
本仓库包含了多种基于 JavaScript 的算法与数据结构。每种算法和数据结构都有自己的 README 并提供相关说明以及进一步阅读和 YouTube 视频。
2414 0
|
2月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
27 0
|
2月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
70 0
|
4天前
|
JavaScript 前端开发 应用服务中间件
node.js之第一天学习
node.js之第一天学习
|
1月前
|
运维 JavaScript 前端开发
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
|
1月前
|
前端开发 搜索推荐 JavaScript
编程笔记 html5&css&js 001 学习编程从网页开始
编程笔记 html5&css&js 001 学习编程从网页开始