引用对象-数组

数组是一个集合(伪类组) 可以保存多个数据可以保持不同种类的数据可以保存函数 长度不定,类型不定
索引 唯一的编号 不能重复 自动生成 从零开始
数组的定义格式
new Array()//定义一个
Arr[0]=100
Arr[2]=20
最后一个元素 Arr [length-1] 超出数组长度的索引对应的值会显示未定义
var a=[] 声明同时即初始化 空数组
Var arr=[222,333,555]
对象数组
var a=[b,c]
var b=[1,2,3]
var c=[ q,w,e]
console.log(a)
长度为零的数组
Var arr=[]
Arr[‘李四’]=22
Arr[‘王五’]=21
console.log(arr
console.log(arr[‘李四’])
new array(length) 只有一个数 代表数组的数据 //未检验
传递路线断开
比如 var arr=【234567】;
使用完 arr=null 详情见垃圾回收机制
数组的存放与提取
数组放入堆内存 空间大 存入时会产生地址16进制的编号 将编号存在栈内存
根据编号提取堆内存内的东西 成为引用类型
引用类型赋值 传递的是地址 局部变量和全局变量可以传递
for(i;i<length;i++){
Arr0 [ I ]=arr [ I ]}数组赋值
[ ]==[ ]//false 地址不同
console.log(arr)//输出的是变量 本应该是编号 浏览器自行处理成便后代表的内容
数组的遍历
· Var a=[] //定义一个空的数组
for(var i=0;i<arr.length;i++){ //进行遍历
a[a.length]=arr[i] //将arr[i]增加到a[]最后
}
console.log(a)
· for( I in arr){

}                        //省略var  i在arr中进行遍历

· 栈内存特点 先进后出
压栈 一个个进
出栈 一个个出
· 栈方法
push() 压栈 直接向数组末尾添加元素 支持多参 可以一次加多个
Pop () 出栈 删除最后一个元素 不需要传参 一次删一个
· 数组调用的方法
· 队列方法 先进先出
push() 进队 将数据添加到末尾
shift() 出队 删除数组头部元素
· 数组的操作方法
· concat () 拼接 合并数组
· var a=b concat(c) 产生新数组
· unshift 在数组头部插入元素
· splice(位置,个数) 删除指定位置的元素 返回值是删掉的数组
· splice(位置,个数,插入的元素,插入的元素)添加新元素 先删除后添加
· slice(开始,结束) 左闭右开 截取新数组
· slice(0) 复制数组
· arr1=arr0。concat() 复制数组
· sort() 从小到大 默认字符串排序 ASCII码
· reverse() 倒叙排列 把数组顺序倒过来
· 数组变字符串 join(‘’) 用引号中间的串起来
· 字符串变数组 splice(‘’) 引号中间的分割成数组
· tofixed() 保留小数 //返回值 字符串
· forEach() 遍历数组
· forEach(fn)
fn 回调函数 index(索引) ,item(元素) ,arr(数组)
var arr=[ 100,200,300] //有几个 下列函数执行几次
arr.forEach(function(ite,mindex.,arr) //可以少接收几个
(function{ sum+=item })
· Index() 寻找元素在数组中的位置 找的到返回位置 找不返回-1
· some(fn) fn(item,index,arr)//数组中是否有元素满足 需要return +条件
· every(fn) fn(item.,index,arr) //数组中所有元素有共性 需要return +条件
· filter(fn) 过滤出满足条件的 需要return 条件
· map(fn) 是否满足条件 true false return+条件 返回新数组 不修改原数组
· reduce(fn) 函数:fn( totle,item,index,arr){ }
totle 初始值是第一个元素 其他都是运算结果 return

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值