转载请标明出处!
 
栈堆结构:
 
堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(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. Ruby学习(三)——类与对象(1)

    今天看了<Ruby元编程>,感觉内容新颖翔实,是Ruby中难得的一见的好书,在此推荐给大家.其实今天看的主要是第一章的第一部分,先把内容梳理一下,也许这一部分会分成几天的内容来给大家介绍吧 ...

  2. Adding Kentico controls to the Visual Studio toolbox

    https://docs.kentico.com/k10/references/kentico-controls https://docs.kentico.com/k10/references/ken ...

  3. 8. String to Integer[M]字符串转整数

    题目 Inplement atoi which converts a string to an integer. The function first discards as many whitesp ...

  4. usaco 最少找零

    Description 约翰在镇上买了 T 元钱的东西,正在研究如何付钱.假设有 N 种钞票,第 i 种钞票的面值为 Vi,约翰身上带着这样的钞票 Ci 张.商店老板罗伯是个土豪,所有种类的钞票都有无 ...

  5. c#初学12-12-为什么mian函数必须是static的

    c#初学12-12-为什么mian函数必须是static的 c#程序刚开始启动的时候都会有唯一一个入口函数main()函数, 而非静态成员又称实例成员,必须作用于实例.在程序刚开始运行的时候,未建立任 ...

  6. 深入浅出JDK动态代理(一)

    1.何为代理 代理,即代替主角完成一些额外的事情.例如,明星都有经纪人,明星参演电影之前,经纪人作为明星的代理人和出资方洽谈片酬.排期等,而真正参与拍戏的还是明星本人,明星拍完戏后,由经纪人代理明星去 ...

  7. innerHTML 与 outerHTML区别

    示例代码: <div id="test"> <p>这是innerHTML</p> <p>这是innerHTML</p> ...

  8. Day 07 -02 拷贝 浅拷贝 深拷贝

    必考 存一个值还是多个值 一个值:整型/浮点型/字符串 多个值:列表/元祖/字典/集合 有序or 无序 有序:字符串/列表/元祖 无序:字典/集合 可变or 不可变 可变:列表/字典/集合 不可变:整 ...

  9. .net基础总复习(1)

    第一天 1.new关键字 (1) 创建对象 (2) 隐藏从父类那里继承过来的成员 2.访问修饰符 public: 公开的,公共的. private:私有的,只能在当前类的内部访问,类中的成员, 如果不 ...

  10. hp soap扩展最全说明,附天气预报调用的例子

    自从php5开始,我们可以不用通过php nusoap来创建php soap web service 和调用 soap了,php5内置了 soap扩展.只需要在php.ini中开启soap的exten ...