JS 数组

本文详细介绍了JavaScript中的数组,包括数组的定义、字面量表示法、常用方法如push、pop、unshift和shift,以及如何遍历数组。通过实例展示了如何创建和操作数组,包括存储不同数据类型、二维数组以及数组方法的应用。此外,还探讨了数组长度的获取与修改,以及如何通过遍历提取特定条件的数据。
摘要由CSDN通过智能技术生成

目录

1.1数组

1.2 数组字面量

1.2.1字面量

 1.3数组的四个方法

1.4 数组的遍历


1.1数组

数组也是一个对象,它和我们普通对象功能类似,也是用来存储一些值的,

  1.  不同的是普通对象是使用字符串作为属性名的,而数组是使用数字作为索引操作元素。
  2. 索引:从0开始的整数就是索引
  3. 数组的存储性能比普通对象要好,在开发中我们常使用数组来存储数据
  4. 也可以在创建数组的同时添加元素,将要添加的元素作为构造函数的参数传递,元素之间使用,隔开

获取数组的长度

        可以使用length属性来获取数组的长度(元素的个数)

                语法:数组.length

  • 对于连续的数组,使用length可以获取到数组的长度(元素的个数)
  • 对于非连续的数组,使用length会获取到数组的最大的索引+1

修改length

  • 如果修改的length大于原长度,则多出来的部分会空出来
  • 如果修改的length小于原长度,则多出的元素会被删除
var arr =new Array();
	//向数组中添加元素,语法:数组[索引]=值
	arr[0]=10;
	arr[1]=33;
	arr[90]=80;
	//读取数组中的元素,语法:数组[索引]
	//如果读取不存在的索引,他不会报错而是返回undefined
	console.log(arr[3]);
	//获取数组长度
	console.log(arr.length);
	//向数组的最后一个位置添加元素
	arr[arr.length]=70;
	console.log(arr);

1.2 数组字面量

1.2.1字面量

使用字面量创建数组,语法:var xx=[ ];

var arr1=[];
//使用字面量创建数组时,可以在创建时就指定数组中的元素
var arr =[1,1,23,4,5];
console.log(arr[1]);
console.log(arr.length);

 数组中的元素可以是任意的数据类型,也可以是对象,也可以是函数

arr=['hello',1,true,null,function fun(){console.log("大家好");}];
var obj={name:'张三'};
arr[arr.length]=obj;
console.log(arr);
arr[4]();	//调用数组索引为4的函数

 数组中也可以放数组,即二维数组

arr1=[[1,2,2],[32,4,4],13];
console.log(arr1);
console.log(arr1[1]);

 1.3数组的四个方法

1.push()

  • 该方法可以向数组的末尾添加一个或多个元素,并返回数组的新的长度
  • 可以将要添加的元素作为方法的参数传递,这样这些元素将会自动添加到数组的末尾
  • 该方法会将数组新的长度作为返回值返回
arr1=[[1,2,2],[32,4,4],13];
console.log(arr1);
console.log(arr1[1]);
var result=arr1.push("张三","李四","王五");
console.log(arr1);
console.log("result="+result);

 2.pop()        

  •  该方法可以删除数组的最后一个元素,并将被删除的元素作为返回值返回
del=arr1.pop();
console.log(arr1);
console.log("del="+del);

 3.unshift()

  •   向数组开头添加一个或多个元素,并返回新的数组长度
  •   向前面插入元素以后,其他的元素索引会依次调整

4.shift()

  •  删除数组的第一个元素,并将被删除的元素作为返回值返回

1.4 数组的遍历

遍历数组,就是将数组中所有的元素都取出来

function Person(name,age){
	this.name=name;
	this.age=age;
}
//创建一个Preson对象
var per=new Person("张三",23);
var per1=new Person("李四",25);
var per2=new Person("王五",28);
var per3=new Person("詹叁叁",16);
//将这些person对象放入一个数组中
var perArr=[per,per1,per2,per3];
console.log(perArr);
//创建一个函数,可以将perArr中的满18岁的人提取出来,然后封装到一个新的数组中并返回
//arr 形参,要提取信息的数组
function getAdult(arr){
	//创建一个新的数组
	var newArr=[];
	//将新数组返回
	for(var i=0;i<perArr.length;i++){
		if(perArr[i].age>=18){
			newArr.push(perArr[i]);
		}
	}
	console.log(newArr);
	return newArr;
}
getAdult(perArr);

回调函数

forEach()方法需要一个参数作为参数

  1. 像这种,由我们创建但是不由我们调用的,我们称为回调函数
  2. 数组中有几个元素函数就会执行几次,每次执行时,浏览器会将遍历到的元素以实参的形式传递进来,我们可以来定义形参,来读取这些内容
  3. 浏览器会在回调函数中传递三个参数

                - 第一个参数,就是当前正在遍历的元素

                - 第二个参数,就是当前正在遍历的元素的索引

                - 第三个参数,就是正在遍历的数组

arr.forEach(function (value, index, obj ){

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值