JavaScript基础——数组JavaScript对象
数组
概念:数组是指⼀组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。
本质:数组是程序在 内存 中申请的N块连续的 空间,可以⽤来保存⼀组数据
创建数组
<script>
// 1.new Array();
// 创建了⼀个空的数组
let arr =new Array();
console.log(arr);
//2.new Array(长度)
/
/ 创建⼀个有长度的空数组
let arr2 =new Array(5);
console.log(arr2);
// 3.new Array(数据1,数据2,数据3....);
let arr3 =new Array('张三',20,'男');
console.log(arr3);
// 4.利⽤字⾯量
// 创建⼀个空数组
let arr4 =[];
console.log(arr4);
// 5.利⽤字⾯量[数据];
let arr5 =[10];
console.log(arr5);
let arr6 =['张三',32,'男'];
console.log(arr6);
let arr7 =[5];
console.log(arr7);
</script>
数组的赋值⽅式
// 在声明的同时赋值
let arr1 =[1,2,3,4,5,6,7];
console.log(arr1);
/
/ 如果在声明之后想往数组中添加数据(元素)
// 利⽤下标:每⼀个数组内部的元素,都拥有⼀个下标
// 从0开始,往后递增
// 数组名[下标值]=数据;
// 拓展:不连贯的下标数组,稀疏数组
let arr2=[];
arr2[0]='我';
arr2[1]='是';
arr2[2]='谁';
arr2[10]='啊';
console.log(arr2);
/
/ 如何获得数组中指定下标的元素
console.log(arr2[1]);
</script>
数组的三要素
数组的三要素:元素,下标,长度
元素:存放在数组格⼦中的 数据
数组元素可以是任意类型的数据:数值、字符串、布尔值、函数、数组、对象…
下标:数组中为每个格⼦都设置了⼀个 ‘编号’
特点:数组的下标 从0开始
长度:保存了数组中所有元素的个数
数组的长度与下标的关系:最⼤下标+1=长度
数组的长度与下标的关系:最⼤下标=长度-1
// 数组的三要素:元素,下标,长度
// 数组的长度:数组中有多少个元素
// 数组的长度与下标的关系:最⼤下标+1=长度
// 数组的长度与下标的关系:最⼤下标=长度-1
// 如何获得数组的长度
let arr =[1,2,3,4,5,6,7,8,9,10];
console.log(arr.length);
// 数组长度可否改变
arr.length =20;//数组的长度可以变⼤,添加空元素
console.log(arr);
arr.length =5;
console.log(arr);//数组的长度可以变⼩,但是数据会被删除(不可逆)
</script>
利⽤数组长度添加元素
利⽤下标的⽅式
// 利⽤下标的⽅式来继续添加元素
let arr =[1,2,3,4,5];
arr[5]=6;
arr[6]=7;
arr[7]=8;
arr[8]=9;
arr[9]=10;
console.log(arr);
利⽤数组的长度(数组的长度是可变的)
let arr =[1,2,3,4,5];
arr[arr.length]=6;
arr[arr.length]=7;
// 同理可得
arr[arr.length]=8;
arr[arr.length]=9;
arr[arr.length]=10;
console.log(arr);
案例:
循环添加数组元素⼩练习1:往数组中添加1-100总共100个数字// 循环添加数组元素⼩练习1:往数组中添加1-100总共100个数字
let arr2=[];
javascript全局数组
for(let i=0;i<50;i++){
//  利⽤i的⼀致性与数组下标的⼀致性
arr2[i]=i+1;
// 利⽤长度length
// arr2[arr2.length]=i+1;
}
console.log(arr2);
练习:再已有数组中,循环添加数据51-100
let arr3=[1,2,3,4.5];
for(let i=0;i<50;i++){
arr3[arr3.length]=i+51;
}
console.log(arr3);
push⽅法
// 拓展:push⽅法
let arr4=[1,2,3,4];
for(let i=0;i<100;i++){
// 利⽤push⽅法,在数组的最后添加元素            arr4.push(i+1);
}
console.log(arr4);
⼩案例
<script>
// 1.将0-100这些数字,正序存到⼀个数组中
let arr =[];
for(i =0; i <=100; i++){
arr.push(i);
}
console.log(arr);
console.log('2--------------------------');
// 2.将0-100这些数字,倒序存到⼀个数组中
let arr1 =[];
for(i =100; i >=0; i--){
arr1.push(i);
}
console.log(arr1);
console.log('3--------------------------');
// 3.将0-100这些数字正序存到⼀个数组中(跳过5的倍数)
let arr2 =[];
for(i =0; i <=100; i++){
// console.log(i);
if(i %5==0&& i !=0){
continue;// 跳过本次循环,进⼊下⼀次
}
arr2.push(i);
}
console.log(arr2);
console.log('4-----------------------------');
// 4.将0-100这些数字正序存到⼀个数组中(只要5的倍数)
let arr3 =[];
for(i =0; i <=100; i++){
// console.log(i);
if(i %5==0&& i !=0){
arr3.push(i);
}
}
console.log(arr3);
console.log('5-----------------------------');
// 5.将其5的倍数的数字,筛选出来,存到⼀个新的数组中
let arr4 =[1,2,3,4,5,6,7,8,9,10,11,12,13,141,51,5,18,29,95];
// 是5的倍数
let arrNew =[];
// 不是5的倍数
let otherarr =[];
/
/ 数组有多少数据,就要循环⼏次-----> length
for(let i =0; i < arr4.length; i++){
// 判断数组是否可以被5整除
if(arr4[i]%5==0){
// 将符合的数据保存到新数组⾥
arrNew.push(arr4[i]);
}else{
otherarr.push(arr4[i]);
}
}
console.log(arr4.length);
console.log(arrNew);
console.log(otherarr);
</script>
打印⽔仙花数