数组
创建数组
A.通过构造函数创建数组
* a): var arr=new Array();//定义一个空数组,无长度的空数组。
* b):var arr1=new Array(num);
* 当Array()构造函数中只有一个"数值"时,表示创建一个长度为num的数组,且数组中每一个元素的值都为空,(取值时,值为undefined);
* c):var arr1=new Array(val1,val2,…………);
*/
var arr=new Array();
var arr1=new Array(5);
var arr1_1=new Array('huskyuncle');
var arr1_2=new Array('123');
var arr2=new Array(23,"abc","zzxcv",123);
B.字面量创建数组
创建空数组
var arr6 = [];
创建只有一个元素值为10的数组
var arr7 = [10];
创建含有多个元素的数组
var arr8 = [10,20,"hello"];
访问数组
通过制定数组名及索引,访问某个元素
(索引是从0开始有序排列的自增的数值)
arr8[0]
赋值
arr[1]=30
数组操作方法
push() 向数组的末尾添加一个或多个元素,返回新的长度 //arr.push(new_val);
unshitf() 向数组的开头添加一个或多个元素,返回新的长度 //
arr.pop() 从数组的尾部(删除)弹出一个元素,返回(删除)弹出的元素
arr.shift() 从数组的头部(删除)弹出一个元素,返回(删除)弹出的元素
splice(index,count,item1,item2,……) 向(从)数组中添加(删除)元素,然后返回被删除的元素
index --必选参数,从指定的位置(下标|索引)操作数组
count --必选参数 操作元素的 数量
item1,……,itemX 可选参数 ,向数组中新增的项目
concat() 用于连接两个或多个数组组成一个新的数组
join(分隔符) 将数组的每个元素以指定的分隔符连接起来拼接为一个字符串
var res3=arr1.join('&');
var res4=arr2.join();
var res5=arr2.join('');
数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推。
双层嵌套循环
在一个循环语句中包含另一个循环
for(条件){
for(条件){
}
}
冒泡排序 一种简单的排序算法
原理:比较相邻的元素,如果第一个大于第二个就交换位置,然后对每一对都做相同的比较最后按照从大到小或从小到大排序, 持续比较直到没有数字
function bubbleSort(arr) { var len = arr.length; for (var i = 0; i < len - 1; i++) { for (var j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j+1]) { // 相邻元素两两对比 var temp = arr[j+1]; // 元素交换 arr[j+1] = arr[j]; arr[j] = temp; } } } return arr; }
二维数组
本质上是以数组作为数组元素的数组,即 ‘数组的数组’