//================数组====================
//一组数据的集合
//1..创建数组
// a。。new 创建
//var arr = new Array();//创建了一个空的数组
//b。。利用数组字面量创建数组
//var arr1 = [];
//2..获取数组元素 arr[index]
var arr = ['string',false,10,null,undefined,'last'];
//console.log(arr[5]);//last
// console.log(arr[6]);//没有 返回undefined
//3..遍历数组 i是计数器 相当于数组的索引
for(let i = 0; i < arr.length; i++){
console.log(arr[i]);
}
//数组求和/平均值
var arr1 = [10,20,30];
var sum = 0;//和
var avarage = 0;//平均数
for(let i = 0; i < arr1.length; i++){
sum+=arr1[i];
}
avarage = sum / arr1.length;
console.log(sum,avarage);//60 20
//求数组中最大值
var max = arr1[0];//声明一个保存最大元素的变量 默认最大值可以取数组中的第一个元素
for (let i = 0; i < arr1.length; i++) {
if(arr1[i] > max){
max = arr1[i];
}
}
console.log(max);//30
//数组转换为分割字符串
var arr2 = ['red','pink'];
var str = '';
for (let i = 0; i < arr2.length; i++) {
str+=arr2[i]+'|';
}
console.log(str);// red|pink|
// ========新增数组元素=====
/* a。。修改数组长度
b。。修改数组索引的方法 */
arr2[2] = 'purple';
console.log(arr2);//["red", "pink", "purple"]
arr2[0] = 'blue';
console.log(arr2);// ["blue", "pink", "purple"]
/* 构建一个数组 里面存放100个整数(1-100)
核心原理:使用循环来追加数组
循环中的计数器i 可以作为数组元素存入 */
var arr3 = [];
for(let i = 0; i < 100;i++){
// arr = i;不要直接给数组名赋值,否则以前的元素都没了
arr3[i] = i + 1;
}
console.log(arr3);
// 将一个数组中大于10的元素筛选出来 放入新数组
var arr4 = [1,2,3,55,24,5,88];
var newArr = [];
//a。。方法1
var j = 0;// 新数组索引号应该从0开始
for(let i = 0; i < arr4.length; i++){
if(arr4[i] > 10){
// 新数组索引号应该从0开始 依次递增
newArr[j] = arr4[i];
j++;
}
}
console.log(newArr);// [55, 24, 88]
//b。。方法2 把j=0注释
//刚开始 newArr.length 就是0
for(let i = 0; i < arr4.length; i++){
if(arr4[i] > 10){
// 新数组索引号应该从0开始 依次递增
newArr[newArr.length] = arr4[i];
}
}
//-------数组去重--- 把不是0的存放到一个新的数组
var arr5 = [12,3,0,7,9,10,0,9];
var newArr1 = [];
for (let i = 0; i < arr5.length; i++) {
if(arr5[i] != 0){
newArr1[newArr1.length] = arr5[i];
}
}
console.log(newArr1);
//-------数组排序(冒泡排序)---- 是一种算法
// 把一系列的数据按照一定的顺序进行排列显示(从小到大或从大到小)