一直觉得能把知识整理出来,才是自己的,才会有更深刻的理解和记忆,本篇罗列了数组需要掌握的一些知识点,希望更帮助自己形成完整的知识体系,越努力,越幸运,祝自己好运
一:参考资料
二: 知识点罗列
- 创建数组
- 访问数组
- 关联数组
- 数组API
创建数组
- 创建空数组
var arr=[];//数组直接量
var arr=new Array();//用new - 创建空数组同时初始化数组元素
var arr=[97,85,58];
var arr=new Array("tom","mary","Cindy"); - 创建n个空元素的数组
var arr=new Array(3)//下标为0,1,2值为undefined;
访问数组
赋值: var scores=[95,88,100]; scores[2]=98;//将100赋值为98,下标越界的话,在末尾重新添加
取值:下标越界的话,不报错,返回undefined
关联数组
定义:可自定义下标的数组,通常用于快速定位
步骤: 1.创建空数组: var lxr=[];
2.向空数组中添加新元素:
使用自定义的字符串元素名作为下标
lxr["name"]="林心如";
lxr["math"]=81;
lxr["chs"]=53;
lxr["eng"]=86;
数组API
数组的length属性(最大下标+1)
1.获取最后一个元素arr[arr.length-1]
2.获取倒数n个元素arr[arr.length-n]
3.末尾追加一个新元素arr[arr.length]
4.缩容-
数组遍历
for(var i=0;i<arr.length;i++){
arr[i] //当前数组元素
}for(var key in hash){ key //仅获取当前下标名称 hash[key] //获取当前元素值 }//遍历索引数组
获取数组字符串
1.var str=String(arr);将数组中每个元素都转为字符串,再用逗号分隔
2.var str=arr.join("自定义连接符")将数组中每个元素都转为字符串,再用自定义下标连接每个元素:
1)无缝拼接: arr.join("")
2)将单词拼接为句子: arr.join(" ")
3) 判断空数组: arr.join("")==""
4) 根据数组中的元素,动态生成页面元素的内容连接(contact)
语法:var arr2=arr1.concat(23,34,arr3);///concat无权修改原数组,只能返回新数组 所以,必须用变量接住拼接后的返回值
举例:
var arr1=[45,56];
var arr3=[56,67];
var arr2=arr1.concat(23,45,56,arr3);
console.log(arr2);//返回值为数组 [45, 56, 23, 45, 56, 56, 67]-
获取(slice)
语法:var arr1=arr.slice(starti,endi);//含头不含尾,无权修改原数组,只返回新子数组简写:var arr1=arr.slice(starti)//表示从开始位置到结尾 var arr1=arr.slice()//表示复制整个数组 var arr1=arr.slice()//从开始位置到倒数第N个 举例:var arr1=[45,56,67,78,67,67]; var arr3=[56,67]; var arr2=arr1.slice(2,-3); console.log(arr2);//返回值为67
修改数组(splice)
删除:
插入:
替换: