JavaScript之数组

数组

数组是一组数据的集合

数组是对象类型

万事万物皆对象

数组的创建

利用new创建数组

A要大写

image-20200729191500144

细节
var arr  = new Array(10);
console.log(arr)
// 如果new Array()接收一个参数,且此参数为number类型(数字),会自动生成对应长度的数组,数组的对应元素就是空

// 如果new Array()接收一个参数,参数不是number类型,会将参数作为数组的元素
var arr  = new Array('10');
console.log(arr);

// 在数组中 字符串和数子是两个不同的类型

利用数组字面量创建数组

数据用逗号分离

image-20200729191554026

数组的特性

  • 有length属性(数组中元素的个数)
  • 可以通过下标取值和赋值 下标的最大值为length-1
  • 可以被循环遍历

数组的递增赋值

image-20200804144628537

image-20200804144809324

数组元素的类型

存放在数组里的数据就是数组元素

获取数组元素

数组的索引

从0开始

image-20200729193508863

通过索引进行访问、设置、修改对应的数组元素,通过数组名[索引]的形式获取数组中的元素

var array = [1,2,3];
alert(array[1]);

如果索引号对应的,在数组中没有该数组元素,则输出undefined

遍历数组

遍历即把数组元素从头到尾访问一次

通过forEach进行遍历

IE8及其以下浏览器均不支持以下方法

  • 需要一个函数作为一个参数
  • 像这种函数,由我们创建,但是不由我们调用的,称之为回调函数
  • 数组中有几个元素,函数就会执行几次,每次执行时,浏览器会将遍历到是元素以实参的形式传递进来,我们可以定义形参,来读取这些内容
  • 浏览器会在回调函数中传递3个元素
    • 第一个参数,就是当前正在遍历的元素
    • 第二个参数,就是当前正在遍历的元素的索引
    • 第三个参数,就是正在遍历的数组
arr.forEach(function(value,index,obj){
    console.log(value);
})
通过for循环,进行下标访问元素,实现遍历

for里面的i是计数器,当索引号使用,arr[i]是数组的第i个数组元素

var arr = ['A', 'B', 'C'];
// 数组索引号从0开始,所以i必须从0开始,i<3
for(i = 0; i < 3; i++){
    console.log(arr[i]);
}
for… in 循环 返回下标
// 返回的下标是字符串,不影响使用
var grade = [87, 89, 68, 74, 35, 98];
// for ...in 返回下标
for(var i in grade){
    console.log(i);
}
for …of 返回数组的每一个元素
for(var val of grade){
    // 返回的下标是字符串类型,不影响使用
    console.log(val);
}

数组长度

索引号是从0开始,而数组长度表示元素的个数

arr.length 动态监测数组元素的个数

var arr = ['A', 'B', 'C'];
// 数组索引号从0开始,所以i必须从0开始,i<3
for(i = 0; i < arr.length; i++){
    console.log(arr[i]);
}

数组元素求和

// 要加的是数组元素 array[i] 不是计数器i
sum = sum + arr[i];

image-20200729203039948

数组元素最大值

image-20200729203553452

数组转换成分割字符串

image-20200729220810701

image-20200729220934261

数组新增元素

通过修改length长度新增数组元素

  • 可以通过修改length长度来实现数组扩容的目的

  • length属性是可读写的

    // 末尾新增元素
    arr.[arr.length] = 'aqua'
    

image-20200729222300522

通过修改数组索引号新增元素

  • 可以通过修改数组索引的方式追加数组元素
  • 不能直接给数组名赋值,否则会覆盖掉以前的数据

image-20200729222702874

循环数据存入数组

image-20200729223100528

筛选数组

在数组中,找出大于某个元素的数,存入新数组

通过一个变量j,让新数组索引号从0递增

image-20200729223734102

新数组为空,即newArr.length为0,将newArr.length作为索引号

length自动监测元素个数的变化

image-20200729224344150

删除指定数组元素(数组去重)

image-20200729224806579

翻转数组

新的空数组,自动根据存放元素的内容的多少,扩充自己

索引号比数组元素个数小1

image-20200729231117301

image-20200729231210512

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值