学习javascript数据结构和算法(一)
2019-02-20 00:44:21来源:博客园 阅读 ()
一 、数组
1、迭代数组(斐波那契数列循环)
var fibonacci = []; fibonacci[1] = 1; fibonacci[2] = 2; for(var i = 3;i < 20;i++){ fibonacci[i] = fibonacci[i-1] +fibonacci[i-2]; }
2、数组操作
push() //添加元素到数组末尾
unshift() //添加元素到数组首位
pop() //删除数组最后元素
shift() //删除数组首位元素
splice(5,3,2,3,4) //从索引5开始删除3个元素,并开始添加元素2,3,4.
***多为数组迭代用多重循环
3、数组方法
合并
- concat() //连接数组并返回结果
迭代
every() //对数组的每一项运行给定函数,若都返回ture则返回true
- some() //对数组的每一项运行给定函数,若任一项返回ture则返回true
- filter() //对数组的每一项运行给定函数,返回true的项组成的数组
- forEach() //对数组的每一项运行给定函数,无返回值
- map() //对数组的每一项给定函数,返回每次函数调用的结果组成的数组
- reduce() //previousValue、currentValue、index和array四个参数进行求和
排序
- reverse() //颠倒数组元素的顺序
- sort() //按照字母顺序排序,也可根据排序方法进行排序
搜索
- indexOf() //返回第一个与给定参数相等的元素索引,没有找到则返回-1
- lastIndexOf() //返回在数组中搜索道德与参数相等的元素的索引的最大值
- slice() //传入索引值,将数组里对应索引范围内的元素作为新数组返回
输出为字符串
- toString() //将数组作为字符串返回
- valueOf() //将数组作为字符串返回
- join() //将所有元素连成字符串
***es6数组的新功能
(1)使用forEach和箭头函数迭代
number.forEach(x => { console.log((x % 2 == 0)) })
(2)使用for...of循环迭代
for(let n in number){ console.log((n % = 2) ? 'even' : 'odd'); }
(3)@@iterator属性
entries() //返回包含键值对的@@interator
let aEntries = numbers.entries(); console.log(aEtries.next().value); //[0,1]位置0的值为1 console.log(aEtries.next().value); //[1,2]位置1的值为2
key() //返回包含索引的@@interator
let aKeys = number.keys(); console.log(aKeys.next()); //{value:0,done:false} console.log(aKeys.next()); //{value:1,done:false} console.log(aKeys.next()); //{value:0,done:falseval
value() //返回数组的值
let aValues = numbers.values(); console.log(aValues.next()); // {value: 1, done: false } console.log(aValues.next()); // {value: 2, done: false } console.log(aValues.next()); // {value: 3, done: false }
(4)form()方法 //根据已有的数组创建新数组或者过滤数组
let numbers2 = Array.from(numbers); //还可以传入一个用来过滤值的函数,例子如下: let evens = Array.from(numbers, x => (x % 2 == 0)); //上面的代码会创建一个evens数组,其中只包含numbers数组中的偶数。
(5)Array.of方法 //根据传入的参数创建一个新数组
let numbers3 = Array.of(1); let numbers4 = Array.of(1, 2, 3, 4, 5, 6); //我们也可以用这个方法复制已有的数组 let numbersCopy = Array.of(...numbers4); //展开操作符(...)会把numbers4数组里的值都展开成参数。
原文链接:https://www.cnblogs.com/blancher/p/10401041.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:css选择器概述
下一篇:css的三种书写方式
- css与javascript重难点,学前端,基础不好一切白费! 2020-06-11
- 转行Web前端工程师要掌握的学习知识汇总 2020-06-10
- 毕业生想学习web前端开发,有什么好的发展方向吗? 2020-06-09
- 转行前端很迷茫,该怎么学习? 2020-06-06
- CSS3 2020-06-05
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash