转载请标明出处!
 
栈堆结构:
 
堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(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. Oracle的awr和ash

    1.     10g之前 用户的连接将产生会话,当前会话记录保存在v$session中:处于等待状态的会话会被复制一份放在v$session_wait中.当该连接断开后,其原来的连接信息在v$sess ...

  2. NEU 1006 Intermediary

    1006: Intermediary 时间限制: 1 Sec  内存限制: 128 MB提交: 261  解决: 25[提交][状态][讨论版] 题目描述 It is widely known tha ...

  3. 7.treeview

    ui mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include < ...

  4. 迭代Iterator的用法

    迭代→遍历: 一个标准化遍历各类容器里面的所有对象的方法类(典型的设计模式) 把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户端暴露集合的内部结构 迭代(Iterator)与枚举(Enumera ...

  5. Maven 学习笔记(三)

    有时我们在项目中可能需要打包一个可执行的 jar 包,我最近也遇见了,很傻很天真的用了如下配置: <packaging>jar</packaging> 效果一如既往的好,打包成 ...

  6. ROS-SLAM-自主导航

    前言:无. 前提:已下载并编译了相关功能包集,如还未下载,可通过git下载:https://github.com/huchunxu/ros_exploring.git 一.启动仿真环境 cd ~/ca ...

  7. Makefile经典教程(转)

    转自:http://blog.csdn.net/ruglcc/article/details/7814546/ makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这 ...

  8. 获取sqlserver数据字典的完整sql。

    SELECTsysobjects.name AS 表名称 , --------------as 的作用:为字段起一个别名 --sysproperties.[value] AS 表说明 , ------ ...

  9. sql server 启用数据库的 Service Broker

    使用SqlDependency时要开启Service Broker ,那么SqlDependency是什么 https://www.cnblogs.com/zhaoyihao/p/5663258.ht ...

  10. python 3.x 学习笔记17(协程以及I/O模式)

    1.协程(微线程)协程是一种用户态的轻量级线程.协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈.因此: 协程能保留上一 ...