一个变量只能存储一个数据,若是咱们有一组数据,好比1到100一百个数字,定义100个变量来存储就太痛苦了,这时候咱们就须要数组来存储这样的数据。数组相似于数学概念中的中的集合。javascript
1)构造方法:使用new 在内存中开辟空间, 返回的是new出来空间的地址java
var arr = new Array();//无参构造函数,建立一空数组 var arr = new Array(5);//建立指定长度的数组(因为数组长度能够动态调整,做用并不大) var arr = new Array(1,2,'hello');//建立数组并初始化参数数据
2) 字面量:使用方括号,与上面的new 是同样的,也会在内存中开辟空间数组
var arr = [ ];//等同于调用无参构造函数 var arr = [10];//等同于调用带有初始化数据的构造函数
语法: 数组名[下标];dom
数组的修改函数
数组名[下标]= 赋值;
var arr = [5,7,9]; arr['haha'] = 99;//若是对没有的下标元素进行赋值,则等价于添加新元素 console.log(arr);//5,7,9,99
一般操做数组时,每一个元素都要操做一遍,这个时候咱们会用循环来访问每个元素,循环访问数组的每个元素的过程就叫作数组的遍历。学习
//1. 常规的for循环 for(var i=0;i<arr.length; i++){ console.log(arr[i]); }
//2. for...in...遍历数据的下标 for(var index in arr){ // console.log(arr[index]); console.log(index); }
// 3. for...of...遍历内容 for(var item of arr){ console.log(item); }
<script> var arr=[5,6,3,7,8,4]; for(var i=0; i<parseInt(arr.length/2);i++){ // 交换元素 var temp; temp = arr[i]; arr[i] = arr[arr.length-i-1]; arr[arr.length-i-1] = temp; } for(var i=0; i<arr.length;i++){ console.log(arr[i]); } </script>
var arr = [1,2,3]; var len = arr.push(4,5); console.log(len);//5 console.log(arr);//1,2,3,4,5
var arr=[8,5,9]; var x = arr.pop(); console.log(x);//9 console.log(arr);//8,5
var arr = [6,5,7]; var a = arr.unshift(10,90); console.log(a);//5 console.log(arr);//10,90,6,5,7
var arr=[1,2,3]; var x = arr.shift(); console.log(x);//1 console.log(arr);//2,3
splice(参数1, 参数2, 参数3) 返回一个由删除元素组成的新数组code
将数组转为字符串 :返回值为转换后的字符串排序
var arr=[4,7,3]; console.log(arr.join('~'));//4~7~3
var arr=[4,6,7,4,6,5]; var arr1 = arr.slice(3,5); console.log(arr1);//4, 6
concat(增长的数组): 返回一个新数组索引
var arr1 = [6,7,5,8]; var arr2 = [0,3,7]; console.log(arr1.concat(arr2));//6,7,5,8,0,3,7
var arr=[5,7,8,9,3]; arr.reverse(); console.log(arr);//3,9,8,7,5
var arr=[9,7,8,5]; arr.sort(); console.log(arr);//5,7,8,9
var arr=[19,7,8,5]; arr.sort(); console.log(arr);//19, 5,7,8
var arr = [[],[],[],[]];
冒泡排序ip
//使用冒泡法由小到大排列 <script type="text/javascript"> var arr= [5,7,8,4,6,5,2,7]; var temp; // 外层循环n-1次 for(var i=0; i<arr.length; i++){ // 内层循环n-i-1 for(var j=0; j<arr.length-i-1;j++){ //由小到大排列 if(arr[j]>arr[j+1]){ temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } console.log(arr);//[2, 4, 5, 5, 6, 7, 7, 8] </script>