转载请标明出处!
 
栈堆结构:
 
堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。
 
栈:存放的是路径;容量有限(在一开始被定义之后就不会改变了);先进后出(FILO)first In
 Last Out
 
堆:路径映射的数据;容量无限(因为一直可能被改变);列队优先,先进先出(FIFO)first In Last Out
 
如果我们把数组理解为栈堆结构的话,那么 
 
var arr =  [1,2,3,4,5,6 ];
 
那么arr就是 栈 他是一个路径 : 找到数据的存储层;
 
数据 [1,2,3,4,5,6] 就是堆 ; 
 
如果我们想要 改变堆中的数据的话,那么我们可以用push()方法向尾部添加一个数据,或者用pop()方法删除尾部数据。
 
数组:
 
for-in(结合数组或对象);
 
数组的概念,一组(一般情况下相同类型)的数据;
 
下标(索引)的概念;
 
创建数组
 
var arr= new Array(10); //创建一个包含 10 个元素的数组;
 
var arr2= new Array('王志超',100,'教师','山西');//使用构造函数创建;
var arr2= new Array(1,100,2,3);//使用构造函数创建;4个数据
 
var arr3 = [1,2,3,4,5];
 
静态赋值
 
arr[0] = 5;
 
arr[1] = 12;
 
arr[2] = 4;
 
动态赋值
 
for(var i=0; i<5; i++){
 
    arr[i] = Math.random();
 
}
 
 
数组对象自带的属性:length代表数组有多少数据项;
 
遍历访问数组  普通for循环和 forEach循环
 
arr.forEach(function(element,index,Arr){
 
})
 
push/pop、unshift/shift方法
 
arr.push('BJ'); //数组末尾添加一个元素
 
arr.unshift('TJ');  //数组开头添加一个元素
 
var str = arr.pop();   //移除末尾一个元素,并返回该元素
 
var str = arr.shift();   //移除开头一个元素,并返回该元素
 
 
队列结构:
 
练习:找出所有1-100之间7的倍数和包含7的数字
 
倒序reverse方法;
 
arr.reverse()方法不会创建新的数组,而是将原有数组顺序进行了改变;
 
var arr=[1,2,3]
 
arr.reverse();
 
console.log(arr)//3,2,1
 
从小到大排序sort方法  (数字的排序)
 
算法:
 
冒泡排序算法:
 
 
 
选择排序算法:
 
 
 
随机点名程序:
 
 
数组去重:
 

javascript系列-class5.数组的更多相关文章

  1. JavaScript 系列--JavaScript一些奇淫技巧的实现方法(二)数字格式化 1234567890转1,234,567,890;argruments 对象(类数组)转换成数组

    一.前言 之前写了一篇文章:JavaScript 系列--JavaScript一些奇淫技巧的实现方法(一)简短的sleep函数,获取时间戳 https://www.mwcxs.top/page/746 ...

  2. JavaScript初探系列之数组的基本操作

    在程序语言中数组的重要性不言而喻,JavaScript中数组也是最常使用的对象之一,数组是值的有序集合,由于弱类型的原因,JavaScript中数组十分灵活.强大,不像是Java等强类型高级语言数组只 ...

  3. 汤姆大叔 javascript 系列 第20课 最后的5到javascript题目

    博客链接:http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html 原题: 大叔注:这些题目也是来自出这5个题目的人,当然如果你能答对4 ...

  4. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点

    深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2011-12-28 23:00 by 汤姆大叔, 139489 阅读, 119 评论, 收藏, 编辑 才华横溢的 ...

  5. 翻阅《数据结构与算法javascript描述》--数组篇

    导读: 这篇文章比较长,介绍了数组常见的操作方法以及一些注意事项,最后还有几道经典的练习题(面试题). 数组的定义: JavaScript 中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性 ...

  6. javascript系列之this

    原文:javascript系列之this 引言 在这篇文章里我们将会讨论与执行上下文直接相关的更多细节.讨论的主题就是this关键字.实践证明,这个主题是足够难的并且在不同的执行上下文中判定this的 ...

  7. javascript系列之DOM(一)

    原文:javascript系列之DOM(一) DOM(document object moudle),文档对象模型.它是一个中立于语言的应用程序接口(API),允许程序访问并修改文档的结构,内容和样式 ...

  8. javascript系列之执行上下文

    原文:javascript系列之执行上下文 写在前面:一 直想系统的总结一下学过的javascript知识,喜欢这门语言也热爱这门语言.未来想从事前端方面的工作,提前把自己的知识梳理一下.前面写了些 ...

  9. JavaScript系列----数据类型以及传值和传引用

    1.简单数据类型 在JavaScript中简单数据类型分为5种.分别为 Undefined, Null,Boolean,Number,String. Undefined类型Undefined类型只有一 ...

随机推荐

  1. jQuery应用实例3:鼠标经过显示离开隐藏

    效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  2. 关于Java中equal函数和==的一些区别

    equal函数比较的到底是什么,很明显是比较的值,但是什么值?与==比较的堆中的内存地址不同,其比较的是对象的值,包括各个属性的值.我们在重新overriding此方法时首先要判断是否为同一对象,如果 ...

  3. ZBrush中Layer层笔刷介绍

    本文我们来介绍ZBrush®中的Layer层笔刷,该笔刷是一种类似梯田效果的笔刷,常用来制作鳞甲和花纹图腾.他还可以用一个固定的数值抬高或降低模型的表面,当笔刷在重合时,笔画重叠部分不会再次位移,这使 ...

  4. zabbix-agent端自定义监控项(free -m)服务器内存使用率

    Agent端操作 [root@agent ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf 末行追加 UserParameter=memory_user ...

  5. Pyhton学习——Day61

    class Pagination(object): def __init__(self,totalCount,currentPage,perPageItemNum=10,maxPageNum=7): ...

  6. idea编写Swing程序中文乱码的解决办法

    Run -> Edit Configurations ,在图示位置加入-Dfile.encoding=gbk

  7. NOI 2018 归程 (Kruskal重构树)

    题目大意:太长了,略 Kruskal重构树,很神奇的一个算法吧 如果两个并查集被某种条件合并,那么这个条件作为一个新的节点连接两个并查集 那么在接下来的提问中,如果某个点合法,它的所有子节点也都合法, ...

  8. [caffe]网络各层参数设置

    数据层 数据层是模型最底层,提供提供数据输入和数据从Blobs转换成别的格式进行保存输出,通常数据预处理(减去均值,放大缩小,裁剪和镜像等)也在这一层设置参数实现. 参数设置: name: 名称 ty ...

  9. java实现组合数_n!_杨辉三角_组合数递推公式_回文数_汉诺塔问题

    一,使用计算机计算组合数 1,设计思想 (1)使用组合数公式利用n!来计算Cn^k=n!/k!(n-k)!用递推计算阶乘 (2)使用递推的方法用杨辉三角计算Cn+1^k=Cn^k-1+Cn^k 通过数 ...

  10. LCA题集

    点的距离(模板题) 树中两点间的距离就是d[u] + d[v] - 2 * d[lca(u, v)] #include<bits/stdc++.h> #define REP(i, a, b ...