2023-5-10(第六天)

82 阅读1分钟

数组的基础

创建数组

方式一:直接量方式
var arr=[值1,...];
方式二:构造函数方式
var arr=new Array(值1,...)
​
注意:arr=new Array(number)创建的是一个长度为number的空数组,里面没有任何东西,只有无数的undefined

按值传递

var a=x,b=a;
​
---若传递的是原始类型则互不影响
---若传递的是引用类型,则其中一个改变,另一个也跟着变化(浅拷贝)

释放引用类型

要将引用该数据的每个变量都释放才能将该引用类型释放干净

hash(关联)数组

特点: 下标可以自定义

创建hash数组

var arr=[];
arr["自定义下标"]=值

访问

arr["自定义下标"]

特殊

hash数组的length会失效,永远为0

遍历hash数组for in

for(var i in 数组名){
    
}

数组的API

数组转字符串

var str=arr.join("自定义连接符")
用途
//无缝拼接
arr.join("");
​
//将数组拼接为DOM页面元素---->渲染页面
elem.HTML="<开始标签>"+arr.join("<结束标签><开始标签>")+"<结束标签>"

数组的拼接

var newArr=arr.concat(新值1,arr,...);
特点:
  1. 不修改原数组,只会返回一个新数组
  2. concat支持传入数组参数,会将传入的数组打散为单个元素再拼接

截取子数组

var newArr=arr.slice(start,end);
特点
  1. 含头不含尾
  2. start和end不写则完整复制一份,也称此操作为深拷贝
  3. 支持负数参数

删插替

删除
arr.splice(start,n);
​
//有返回值,返回值是由被删除元素组成的新数组
插入
arr.splice(start,0,新值1,...);
替换
arr.splice(start,n,新值1,...)
​
//删除的个数不用跟插入的个数相同

翻转数组

arr.reverse()