js中的数组和方法

本文介绍了JavaScript中数组的基础概念,包括数组的定义、元素和索引、创建方式(字面量与new Array()),以及其在数据存储、管理和操作中的关键作用。涵盖了数组类型、长度属性、元素获取与修改、数组方法如push(), pop(), shift(), unshift(), sort(), join()等的详细示例和应用场景。

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

1.什么是数组

组:由多个成员构成的一个集体。
数组:数组是值的有序集合
值:就是前面所讲过的这些数据(各种数据类型的都可以);

演示

var a = 100;
var b = 'js';
var c = true;
注意:以上是分开写的

数组演示:
var arr1 = [100,'js',true];
var arr2 = ['js',100,true];
// 注意:在数组中,每一个值(如100,’js’,true)都称之为一个元素。
// 每一个元素在数组中所处的位置,称之为索引。是数字来表示,从0开始。

在这里插入图片描述
数组的作用

//1.可以存储多个数据;
//2.便于数据的管理和操作;

创建数组

在js中,创建数组有两种方式:
1.直接量(字面量)
2.new的方式

1.直接量(字面量)

var arr = [];//空数组
console.log(arr);//[]
var arr1 = ['5',2,true,null,'word'];
console.log(arr1);//['5', 2, true, null, 'word']

2.new的方式

var str = new Array()//相当于一个空数组
console.log(str);//[]
关于new Array()的参数说明:
1.new Array();括号里面不传参,表示创建一个空数组.
			var str = new Array()
			console.log(str);//[]

2.new Array();括号里传了一个数字参数;这个参数表示数组的长度,
			var str = new Array(5);
      console.log(str);//length: 5

3.new Array();括号里传一个非数字参数,这个参数表示数组项;
			var str = new Array('word');
      console.log(str);//['word']

4.new Array():括号里面传多个参数时,这些参数都是数组项
			var str = new Array(5,6);
      console.log(str);// [5, 6]

数组的基本操作

1.数组的类型

	注意:JavaScript数组是对象的特殊形式
    var num = [];
    console.log(typeof(num));//object

2.数组的属性:length

	数组.length==数组的长度
	获取数组的长度:
    var arr = [1,2,'3',true,undefined];
    console.log(arr.length);//5

	设置数组的长度:
	var str = [1,2,3];
    str.length = 10;
    console.log(str);//length: 10

	注意:当设置长度为0时,可以清空数组;
    var str = [1,2,3];
    tr.length = 0;
    console.log(str);//[]
    
	说明:
    1.JavaScript数组是动态的,根据需要它们会增长或缩减
    2.数组元素的索引不一定要连续的,它们之间可以有空缺。

3.数组的索引:

	获取数组的元素:
	语法格式:数组[下标]// 数组索引(下标)
    var str = [5,'6','7',true,null,{}];
    console.log(str[0]);//5
    console.log(str[1]);//'6'
    //开始下标为0,最大下标为arr.length - 1

    //获取数组的最后一个元素
    console.log(str[str.length - 1]);//{}

	注意:当获取的数组项,超出数组的下标范围内,(该位置上没有值时)返回undefinedvar arr1 = [5,6,'word',null,undefined];
    console.log(arr1[7]);//undefined

    // 注意:当获取的数组项,超出数组的下标范围,返回就是undefined
    console.log(arr1[-1]);//undefined

4.修改数组项:

	语法格式:数组[下标] = 值;
	var arr1 = [5,6,'word',null,undefined];
    console.log(arr1);//[5,6,'word',null,undefined];
    arr1[0] = '加油';
    console.log(arr1);//['加油', 6, 'word', null, undefined]

5.增值:

	var arr1 = [5,6,'word',null,undefined,{}];
    console.log(arr1);
    arr1[10] = '上海';
    console.log(arr1);//[s5, 6, 'word', null, undefined, {…}, empty × 4, '上海']
		
	向数组的末尾添加一项内容:
    var arr = [5,6,'word',null,undefined,{}];
    arr[arr.length] = '加油';

	删除数组的最后一项:
    var arr = [5,6,'word',null,undefined,{}];
    // arr[arr.length] = '加油';
    arr.length = arr.length - 1;
    console.log(arr);

6.遍历数组:

		var arr = [5,6,'word',null,undefined,{}];
		for(var i =0; i < arr.length;i++){
      		console.log(arr[i]);//[5,6,'word',null,undefined,{}]
    	}

操作数组方法

1.push()

		语法:array.push(arr1,arr2,...arrx);
		功能:向数组的末尾添加一个或者多个元素
      	返回值:新数组的长度
      	实例:
      		var a = [1,2,3,4,5];
        	a.push(1);
        	console.log(a);

2.pop()

		语法:array.pop()
      	功能:删除数组中最后一个元素
      	返回值:删除的那个值
      	实例:
      		var a = [1,2,3,4,5];
        	a.pop();
        	console.log(a);

3.unshift()

			语法:array.unshift(arr1,arr2,...,arrX)
            功能:向数组的头部添加一个或多个元素
            返回值:新数组的长度
            实例:
                var a = [1,2,3,4,5];
                a.unshift('2','4');
                console.log(a);

4.shift()

			语法:array.shift()
            功能:删除数组中第一个元素
            返回值:删除的那个值
            实例:
                var a = [1,2,3,4,5];
                a.shift();
                console.log(a);

5.reverse() 方法用于颠倒数组中元素的顺序。(反转)

		语法: arr.reverse()
        返回值:返回一个数组,返回结果与原来的数组首尾颠倒,该方法会改变原来的数组,而不会创建新的数组。
        实例:
                var a = [1,2,3,4,5];
                a.reverse();
                console.log(a);

6.sort()排序

	语法:arr.sort(function(a,b){ return a-b})升序排列
    return b-a ,降序排列 改变原数组;所以直接输出原数组,就是排序后的数组
    实例:
                var b = [3,5,2,7,1]
                b.sort();
                console.log(a);

7.concat():合并

		concat() 方法用于连接两个或多个数组。
        该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
        语法: arr.concat(arr1,arr2,......,arrn)
        返回值:返回一个新的数组。,原数组不会被改变
		实例:
                var a = [1,2,3,4,5];
                var b = [3,5,2,7,1];
                console.log(a.concat(1,2));

8.slice() 方法数组的截取方法。

语法: arr.slice(start,end)  包含开始下标,不包含结束下标
start:必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end:选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。
返回值:返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
        slice 支持负值,负值计数从后往前数;
        slice(start):传一个参数表示从start位置开始截取到最后
        slice():不传参数,表示截取整个数组
		实例:
          var a = [1,2,3,4,5,6];
          console.log(a.slice(0,3));

9. indexOf() 方法可返回某个指定的值在数组中首次出现的位置。

			语法:arr.indexOf(子字符串,开始查找的下标(可以省略))
            说明:返回下标如果找到返回下标,如果没有找到匹配的字符串则返回 -1。
            实例:
            		 var a = [1,2,3,4,5,6];
        				 console.log(a.indexOf(4));//3

10. join() 方法将数组转为字符串。

	说明:   元素是通过指定的分隔符进行分隔的。
    语法: arr.join(分隔符)
    返回值:返回一个字符串。
        var arr = [4,8,3,5] 
        console.log(arr.join());  //4,8,3,5  如果分隔符省略,则默认以逗号分隔  
        console.log(arr.join(" "))  //4 8 3 5;  如果有分隔符则以分隔符分隔
        console.log(arr.join(""))  //“4835”如果分隔符是空字符串,则输出一个字符串
        console.log(arr.join("-"))  //

11.lastIndexOf() 从后向前找

		语法:arr.lastIndexOf(目标值(val),开始查找的位置(index));
        功能:从index位置开始,向前查找val出现的位置;
        返回值:如果找到,返回val的下标,如果找不到,返回-1;
      
      说明:
          1)lastIndexOf()不会改变原数组;
	      2)如果不传第二个参数,默认表示从最后一个下标开始向前查找
      	var arr = ['国','家','有','力','量','国'];
        console.log(arr.lastIndexOf('国'));//5
        //从最后一个下标的位置开始的向前查找的
        console.log(arr.lastIndexOf('国',3));//0
        //从下标3的位置开始向前查找的
        console.log(arr.lastIndexOf('国家'));//-1
        //从最后一个下标开始查找的

12.万能方法:splice()

1.删除功能
			语法:arr.splice(index,num); //num表示删除的长度 
			功能:从下标index位置开始,删除num个元素;
			返回值:被删除项组成的数组;
			演示:
         var color = ['red','blue','green','pink'];
         var b = color.splice(1,2)
         //从下标1的位置,删除两项,并将调用splice的返回值存在变量b中
         console.log(b);//['blue','green']//将返回值输出, 将删除的内容放到一个数组中返回
         console.log(color);//['red', 'pink']//改变原数组,将删除后剩余的内容输出

2.添加功能
      语法:arr.splice(index,0,val1,val2..);
      功能:在下标index位置,添加多个元素
      返回值:空数组;[ ]  因为没有删除,所以数组为空
      演示:
      		var color = ['red','blue','green','pink'];
        console.log(color.splice(1,0,'#fff','#000'));//[]//从下标1开始,删除0个,然后添加两项。然后将返回值输出
        console.log(color);//['red', '#fff', '#000', 'blue', 'green', 'pink']

3.替换功能
      语法:arr.splice(index,num,val1,val2...)
      功能:先删除后添加; 从index 位置开始,先删除num个元素,再添加多个新元素;
      返回值:被删除项组成的数组;
			演示:
      		  var color = ['red','blue','green','pink'];
            var c = color.splice(2,2,'上海')
            console.log(color);//从下标2开始,删除2个,然后添加上一个上海
            console.log(c);//['green', 'pink']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值