JavaScript-数组-笔记
1.定义数组
 数组: 可以存储任意数据类型,元素之间使用英文逗号隔开
 1)使用new关键字定义数组
 var 变量名 = new Array() ;定义空数组
 var 变量名 = new Array(数据1,数据2) ;?定义有元素的数组
 注意: 如果Array() 小括号中只有一个整数 —— 指的是数组的长度,没有赋值的元素是undefined
 2)使用字面量定义数组
 var 变量名 = [];定义空数组
 var 变量名 = [数据1,数据2];?定义有元素的数组
2.数组下标操作元素
 获取元素:使用下标(索引)来获取元素 数组名[下标] 如果下标超出:值是undefined
 下标从0开始的 从左到右 不能为负数
 添加数据 数组名[下标] = 值 空出来的位置:undefined
 修改数据 数组名[下标] = 值
 删除数据 delete 数组名[下标] 清空值,位置保留 变成undefined
3.获取数组的长度、添加元素
 元素的个数——数组的长度 数组名.length
 数组最后一个下标 = 数组的长度-1
 在数组后边添加元素: 数组[数组.length] = 值
4.循环遍历数组
 循环遍历数组,获取每一个元素
 for(var i=0;i<数组的长度;i++){
 ? ? ? ? ? ? ? // 操作
 }
5.添加元素、删除元素
 数组添加元素:
 1、数组[数组.length] = 值? ?在数组后边添加元素
 2、数组名.push(值)? 在数组后边添加元素
 3、数组名.unshift(值)? 在数组的前边添加
 数组删除元素:
 1、delete 数组名[下标] :删除值保留位置
 2、数组名.pop()? ?删除数组的最后一个元素,不保留位置
 3、数组名.shift()? ?删除数组的第一个元素,不保留位置
6.计算数组中数字的和、求平均值
 var arr?= [80,85,60,90];
 // 计算平均分 = 总和/个数
 var sum = 0;
 // 循环遍历数组---获取到每一个元素-----求和
 for(var i=0;i<arr.length;i++){
 ? ? ? ? sum += arr[i]; // 加的是数组的当前元素 不是下标i
 }
 console.log(`数组的和是${sum}`);
 console.log(`数组的平均数是${sum/arr.length}`); // 数组中元素的个数就是数组的长度
7.求数组中元素的最大值
 最大值:
 循环遍历数组-----获取到每一个元素
 假设第一个元素就是最大的,存储在max中 max的作用就是存储最大值
 元素与max进行比较 如果当前元素大于max 就将当前元素赋值给max
var arr = [80, 85, 60, 90, 70];
 // 定义变量max作为最大值 假设第一个元素的值就是最大的
 var max = arr[0];
 // 循环遍历数组
 for(var i=0;i<arr.length;i++){
 ? ? // 元素与max进行比较 如果当前元素大于max 就将当前元素赋值给max
 ? ? if( arr[i] > max ){
 ? ? ? ? ?max = arr[i];
 ? ? }
 }
 // 循环结束后输出最大值
 console.log(max);
8.筛选数组
 筛选数组:在循环遍历数组的时候加上if判断
// 数组 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 将大于10的元素 添加到新数组中 输出新数组
 var arr1 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
 var arr2 = []; // 定义空数组
 // 循环遍历数组arr1 对元素进行判断筛选
 for(var i=0;i<arr1.length;i++){
 ? ? // 如果arr1中当前元素大于10 将当前元素存储在arr2中
 ? ? if( arr1[i] > 10 ){
 ? ? ? ? arr2.push(arr1[i]);
 ? ? }
 }
 console.log(arr2);
9.冒泡排序
 冒泡排序: 每轮能将一个元素排在指定的位置,每轮中都是从第一个元素开始与相邻元素进行比较
 以从小到大为例
 外层表示轮数 ---- 每轮可以将一个元素放到指定位置 5个元素就4轮即可 元素的个数减一
 内层表示比较次数 (充当下标) ----- 轮数i + 次数j = 元素的个数 j = 元素的个数-i
 如果 当前元素 大于后边的 需要交换位置(借助第三方变量)
var arr = [2, 4, 5, 3, 1];
 for(var i=0;i<arr.length-1;i++){ // 外层表示轮数 小于 元素的个数减一
 ? ?for(var j=0; j<arr.length-i; j++){ // 内层表示比较次数 (充当下标) 小于 元素的个数-i
 ? ? ? ? // 当前元素 大于后边的 需要交换位置
 ? ? ? ? if(arr[j] > arr[j+1]){
 ? ? ? ? ? ? ? ?var temp;? ?// 借助第三方变量 交换位置
 ? ? ? ? ? ? ? ?temp = arr[j];
 ? ? ? ? ? ? ? ?arr[j] = arr[j+1];
 ? ? ? ? ? ? ? ?arr[j+1] = temp;
 ? ? ? ? ?}
 ? ? ?}
 }
 console.log(arr);
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!