4.1什么是数组?(为什么要有数组?)数组就是一组数据的集合,其中的每个数据被称作元素,数组是一种将一组数据存储在单个变量名下的优雅方式。
4.2如何创建数组 (两种方式)
1.用new 关键字创建数据
var arr = newArray()
2.用数组字面量创建数组
var arr = []; //创建了一个空数组
var arr = [1,2,3,‘pink‘,‘ture‘,‘皮特‘,0]; //创建了一个数组
//数组中的数据例如: 1,2,被称为元素
注意:数组中可以存放任意类型的元素 例如:字符串、数字、布尔值
4.3如何获取数组元素
格式:数组名[索引号]
console.log (arr[6]);
for循环可以遍历数组 (遍历就是访问,就是把数组中的每个元素从头到尾逐一访问一次
代码演示:
var arr = [‘张飞‘,‘关公‘,‘刘备‘,‘诸葛亮‘,‘冯娜娜‘,‘周红利‘];
for (var i = 0; i < 5; i++){
console.log(arr[i]);
}
注意:因为数组的索引号是从0开始的所以 i必须从0开始
输出的时候ar[i] i计数器当索引号来用
数组的长度是元素的个数,跟索引好不一样
arr.length可以动态监测数组元素的个数
案例:
案例:求数组[2,6,1,7,4]里边的所有元素的和及平均值
var arr = [2,6,1,7,4,];
var sum = 0;
var average = 0;
for (var i = 0; i < arr.length; i++){
sum += arr[i]; //加的是数组元素arr[i] 不是计数器i
average = sum /arr.length;
}
console.log(sum,average); //要输出多个变量用逗号隔开
4.4数组中新增元素
1.通过修改length长度的方式
var arr = [‘red‘,‘bule‘,‘green‘];
console.log(arr.length);
console.log(arr);
arr.length = 5; //修改数组的长度为5
console.log(arr[3]); //unfiend
console.log(arr[4]); //unfiend
2.通过数组的索引号增加数组元素
var arr = [‘red‘,‘bule‘,‘green‘];
arr[3] = ‘bozi‘; //数组名加索引号,追加数组元素
console.log(arr);
arr[0] = ‘pink‘; //如果新增的索引号与原来的重复,则新的元素会替换原
来的元素
console.log(arr);
arr = ‘你是谁‘;
console.log(arr); //不要给数组名直接赋值,否则里边的数组元素都没有
了
案例:
案例: 创建一个数组里边元素是1-10 思路:先声明一个空的数组,再用for循环把1-10的值存进去 */ /*var arr = []; for (var i = 0; i < 10; i++){ arr[i] = i + 1; } console.log(arr); */ /* 案例2 将数组[2,61,77,0,52,0,25,7]中大于等于10的元素存放在新的元素中 */ var arr = [2,61,77,0,52,0,25,7]; var arr1 = []; var j = 0; for (var i = 0; i < arr.length; i++){ if (arr[i] >= 10){ arr1[j] = arr[i]; //新数组的索引号必须从0开始 j++; } }console.log(arr1); 方法2: var arr = [2,61,77,0,52,0,25,7]; var arr1 = []; for (var i = 0; i < arr.length; i++){ if (arr[i] >= 10){ arr1[arr1.length] = arr[i]; //新数组的索引号必须从0开始 刚开始新数组arr.length的值为0 }
4.5冒泡排序
原理:它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
分析:
代码验证:
/* var arr = [5,4,3,2,1,]; for (var i = 0; i < arr.length-1;i ++){ //外循环管躺数 for (var j = 0; j < arr.length-i-1; j++){ //内循环管每趟需要交流的次数 //内部交换两个变量的值,前一个和后面一个元素相比较 if (arr[j] > arr[j+1]) { var temp ; temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } console.log(arr); */
浏览器显示:
原文:https://www.cnblogs.com/zhangbozi/p/12706446.html