数组的使用

1、定义

数组中的数据类型没有限制,在实际项目中,数组中通常会存储同一类型的数据。

var arr = ['a',2,false,undefined,{name:"张三"}];

构造函数:var arr = new Array("张三","李四","王五")

有一种情况,这两种定义方式是不一样的:

var arr = [5] var brr = new Array(5) console.log(arr,brr)

运行结果:[ ] 形式定义的是一个数组中有一个小空间,其中的值是5;构造函数方式定义的,表示有5个空的小空间。

2、基本操作

数组中值的个数: 数组.length

访问数组中的元素: 数组[下标]

添加元素: 数组[下标] = 值

修改元素: 数组[下标] = 值

使用说明:如果下标是已经存在的,那赋值操作就是修改数组元素的值,如果下标是不存在,那赋值操作就给数组添

加元素

删除元素: delete 数组[下标]

这种删除方式,只能删除值,并不能删除小空间。

遍历数组: var arr = ["张三","李四","王五","赵六"]; var length = arr.length; for(var i=0;i<length;i++){ console.log(arr[i]); } 遍历对象的 for in 语法也可以遍历数组: var arr = ["张三","李四","王五","赵六"]; for(var i in arr){ console.log(arr[i]); }

for循环 下标是数字

for in循环:下标是字符串

例题:必会!!

3、嵌套

数组中的值类型是没有限制的,所以数组中也可以存储数组。

4、基础类型和引用类型

js中允许出现的数据:number、string、boolean、null、undefined、{}、[]、function

根据不同类型的数据存储方式以及赋值方式的不同,我们将数据分为两类:基本类型和引用类型。

基础数据类型:number、string、boolean、undefined、null

引用数据类型:[]、function, {}

基础类型和引用类型的区别:

1. 存储方式不同

基础类型将值存在栈内存中;引用类型将值存在堆内存中,将堆内存的内存地址存在栈中。

2. 赋值过程不同

基础类型赋值时,将值复制给另一个变量;引用类型赋值时,将栈中的地址复制给别的变量。

复制值以后,修改其中一个,另一个不会受到影响。

3、3. 全等的比较规则不同

基础类型全等比较的时候,比较类型和值;

引用类型全等比较的时候比较栈中存的内存地址是否相同。

5.数组方法:

unshift - 给数组开头添加一个或多个元素 - 返回数组新长度

var arr = ['a','b','c']; var l = arr.unshift('d') console.log(arr) // ['d','a','b','c'] console.log(l) // 4

push - 给数组的末尾添加一个或多个元素

shift - 删除数组的第一个元素 - 返回被删掉的元素

pop - 删除数组最后一个元素 - 返回被删掉的元素

splice - 对数组做增、删、改的操作

var arr = ['a','b','c'] // 改 - 参数1:开始下标;参数2:删除的个数;参数3:在删除的位置放上的新的元素 - 可以是多个 arr.splice(1,1,'d') // ['a','d','c'] // 增 arr.splice(1,0,'d') // ['a','d','b','c'] - 删除0个,就是不删除,然后放上新元素 // 删 - 第三个参数可以省略 arr.splice(1,0) // ['a','c'

concat - 数组的拼接

sort - 数组的排序

var arr = [9,5,3,7,1,6,4,8,2]; arr.sort() // 默认升序 console.log(arr) // [1,2,3,4,5,6,7,8,9] arr.sort(function(a,b){ // a代表前面的数,b代表后面的数 return a-b; // 升序 - 如果前面的数-后面的数>0,则交换位置 return b-a; // 降序 - 如果后面的数-前面的数>0,则交换位置 })

reverse - 数组的反转

join - 将数组中的元素使用指定的连接符连接在一起

slice - 截取数组

var arr = ['a','b','c','d','e','f']; // 将数组中的 'b','c','d'截取出来,组成新的数组 var brr = arr.slice(1,4) // 参数1是开始截取的下标,参数2是截取的结束下标,结果中不包含结束下标对应的 元素 console.log(brr) // ['b','c','d'] // 如果省略第2个参数,默认从开始下标截取到数组末尾 var crr = arr.slice(1) console.log(crr) // ['b','c','d','e','f']

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值