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

    Matrix Time Limit: 6000MS   Memory Limit: 65536K Total Submissions: 4658   Accepted: 1189 Descriptio ...

  2. 杂项-DB:DW/DWH(数据仓库)

    ylbtech-杂项-DB:DW/DWH(数据仓库) 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH.数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合. ...

  3. Java线程池原理与架构分析

    /** * 一.线程池:提供了一个线程队列,队列中保存着所有等待状态的线程.避免了创建与销毁额外开销,提高了响应速度 * 二.线程池的体系结构 * java.util.concurrent.Execu ...

  4. 18.QT消息链筛选机制以及组合键

    mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> 5 #include <Q ...

  5. Java语言的优点

    1)Java为纯面向对象的语言. <Thinking in Java>提到Java语言是一种“Everything is object”的语言,它能够直接反应现实生活中的对象, 例如火车, ...

  6. Spark RDD概念学习系列之Pair RDD的action操作

    不多说,直接上干货! Pair RDD的action操作 所有基础RDD 支持的行动操作也都在pair RDD 上可用

  7. 微信小程序分享朋友圈的实现思路与解决办法

    实现思路 那么既然小程序没有分享到朋友圈的api,我们怎么实现分享到朋友圈呢,下面我介绍一下实现思路. 既然没有捷径,那就走复杂一点的路线,那就是需要用户手动分享到朋友圈,问题又来了,用户手动分享的话 ...

  8. vue-cli搭建项目结构及引用bootstrap

    vue-cli脚手架工具快速构建项目架构: 1.首先默认了有已经安装了node,然后依次执行以下命令: npm install -g vue-cli                   全局安装vue ...

  9. golang vue nginx

    https://segmentfault.com/a/1190000012780963 https://blog.csdn.net/qq_32340877/article/details/790321 ...

  10. HDU 1052 Tian Ji -- The Horse Racing【贪心在动态规划中的运用】

    算法分析: 这个问题很显然可以转化成一个二分图最佳匹配的问题.把田忌的马放左边,把齐王的马放右边.田忌的马A和齐王的B之间,如果田忌的马胜,则连一条权为200的边:如果平局,则连一条权为0的边:如果输 ...