数组(自学笔记)

这篇博客详细介绍了JavaScript中数组的定义、创建方式、数组元素、数组长度、数组索引及其关系,以及如何设置和获取数组元素的值。还总结了数组的基础知识,并提供了包括输出数组值、求和、平均值、最大最小值、倒序、拼接字符串、去重、反转数组等实际操作的案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组

数组:一组有序的数据
作用:可以一次性存储多个数据
数组中存储的数据类型可以不一样

数组的定义:

1.通过构造函数创建数组
语法:

var 数组名=new Array();
var array=new Array();//定义了一个数组
数组的名字如果直接输出,那么直接就可以把书组中的数据显示出来,如果没有数据,就看不到数据

var 数组名=new Array(长度);
如果数组中没有数据,但是有长度,那么数组中 的值就是undefined
构造函数的方式创建数组:如果Array(一个数字);---->代表数组的长度(数组元素的个数);
Array(多个值):这个数组中就有数据,数组的长度就是这些数据的个数

2.通过字面量的方式创建数组

语法:

var 数组名=[ ];//空数组
var arr=[];

无论是构造函数的方式还是字面量的方式,定义的数组,如果有长度,那么默认是undefined
数组:一组有序的数据
数组元素:数组中存储的每个数据,都可以叫做数据的元素,比如:存储了三个数据,数组中三个元素
数组长度:就是数组元素的个数,比如有三个元素,就说,数组的长度是三
数组索引(下标):用来存储或访问数组中的数据,索引从0开始,到长度减一结束
数组的索引和数组长度的关系:长度减一就实最大的索引值

如何设置数组中某个位置的值

数组名[下标]=值;
arr[3]=100;
如何获取数组中某个位置的值
var result=数组名[下标];
console.log(result);

例子

构造函数的方式:
var arr=new Array(10,20,30,40,100);
console.log(arr[4]);//获取
	//设置
 arr[3]=1000;
 console.log(arr);

字面量的方式:
var arr=[10,20,30,40,50,60,70,80];
console.log(arr.length);

基础数组总结

数组:存储一组有序的数据;
数组的作用:一次性存储多个数据;
数组的定义方式:
1.构造函数定义数组:var 数组名=new Array();
2.字面量的方式定义数组:var 数组名=[];

var 数组名=new Arrzy();//空数组
var 数组名=new Array(值);//数组定义了有长度
var 数组名=new Array(值1,值2,值3…);定义数组,并且有说个数据

var 数组名=[];//空数组
var 数组名=[值1,值2,值2];//有三个数据

数组元素:就是数组中存储的数据
数组长度:就是数组中元素的个数
数组索引做(下标):从0开始到数组的长度减1结束
通过下标设置数组的元素:数组名[索引]=值
通过下标访问数组的数值:数组名[索引]

例子:

var arr1=new Array();//空数组
var arr2=new Array(5);//长度为5的数组,每个数组的值为undefined
var arr3=new Array(1,2,3,4,5);//长度为5的数组

var arr4=[];//空数组
var arr5=[1,2,3];//长度为3的数组
var arr6=["red","1","true"];//数组中元素的值类型可以不一样

var arr7=[];
//设置数组中元素的值
arr7[0]=10;
arr7[1]=20;

案例

1.用for循环输出每个数组的值

var arr=new Array(10,20,30,40,50,60,70);
        for(var i=0;i<arr.length;i++){
            console.log(arr[i]);
        }

2.求数组中所有元素的和

var arr1=new Array(10,20,30,40,50,60);
        var sum=0;
        for(var i=0;i<arr1.length;i++ ){
            sum=sum+arr1[i];
        }
        console.log(sum);

3.求数组中元素的平均值

var arr1 = new Array(10, 20, 30, 40, 50, 60);
        var sum = 0;
        for (var i = 0; i < arr1.length; i++) {
            sum = sum + arr1[i];
        }
        console.log(sum / i);

4.求数组中所有元素的最大值

var arr1 = new Array(10, 20, 30, 40, 50, 60);
        //假设max值中存储的是最大值
        var max=arr1[0];
        for (var i = 0; i < arr1.length; i++) {
            if(max<arr1[i]){
                max=arr1[i];
            }
        }
        console.log(max);

5.求所有数组中所有元素的最小值

var arr1 = new Array(10, 20, 30, 40, 50, 60);
        var min=arr1[3];
        for(var i = 0; i < arr1.length; i++){
            if(min>arr1[i]){
                min=arr1[i];
            }
        }
        console.log(min);

6.倒序遍历数组

var arr = [10, 20, 30, 40, 50, 60];
        for(var i=arr.length-1;i>=0;i--){
            console.log(arr[i]);
        }

7.把数组中每个元素用|拼接在一起组成一个字符串输出

var arr=["大蛇丸","佐助","鸣人"]; 
        var str="";
        for(var i=1;i<arr.length;i++){
            str=str+'|'+arr[i];
        }
        console.log(arr[0]+str);

8.去掉数组当中重复的0,把新的数组放到以个新的数组种中

var sum=[10,0,20,0,30,0,40];
        var news=[];
        for(var i=0;i<sum.length;i++){
            if(sum[i]!=0){
                news[news.length]=sum[i];
            }
        }
        console.log(news);

9.反转数组----把数组中的数据位置调换

var arr=[10,20,30,40,50];
        for(var i=0;i<arr.length/2;i++){
            var temp=arr[i];
            arr[i]=arr[arr.length-1-i];
            arr[arr.length-1-i]=temp;
        }
        console.log(arr);

10.提示用户输入班级人数,求总成绩,平均值,最高分,最低分

var total = parseInt(prompt("请输入班级总人数"));
        //用for循环输入班级里每个人的成绩
        var score = [];
        var sum = 0;//总和
        var mean = 0;//平均值
        
        for (var i = 0; i < total; i++) {
            score[score.length] = parseInt(prompt("请输入第" + (i + 1) + "个人的成绩:"));
            sum += score[i];//求和
            mean = sum / score.length;//求平均值
        }
        var maxScore = score[0];//最高分
        var minScore = score[0];//最低分
        for(var i = 0; i < score.length; i++){
            if (maxScore < score[i]) {
                maxScore = score[i];
            }//求最大值
            if (minScore > score[i]) {
                maxScore = score[i];
            }//求最小值
        }
        console.log("总成绩=" + sum);
        console.log("平均值=" + mean);
        console.log("最大值=" + maxScore);
        console.log("总小值=" + minScore);

11.冒泡排序:把所有数据按照一定的顺序进行排列(从小到大,从大到小)

var arr = [10, 20, 60, 12, 50];
        //循环控制比较的轮数
        for (var i = 0; i < arr.length - 1; i++) {
            //循环控制每轮比较的次数
            for (var j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        console.log(arr);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值