javascript教程系列-5.数组


欢迎加入前端交流群​:​749539640

请标明出处


栈堆结构:


堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(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方法  (数字的排序)


算法:


冒泡排序算法:




冒泡排序.html452 bytes



选择排序算法:




选择排序.html811 bytes




随机点名程序:



随机点名.html398 bytes



数组去重:



数组去重.html428 bytes