2.5数组

一、数组的概念和特点:
1.数组的概念:
按照一定的顺序排列的一组值
语法:var arr=[item1,item2,item3];
2.数组的特点:
(1)本质:数组是对象类型的一种特殊表现形式
(2)数组的长度:js中的数组元素可以是任何数据类型,而在计算机中不同的数据类型是放在不同的存储区的;
因此,JS中的数组元素在内存中的存储位置是不连续的
总结:①因为数组元素在内存中不连续,所以使用数组的下标来计算数组的长度;
    ②length是获取数组长度的方法获取的结果是数组的元素的个数;
  【注意】length是一个可写属性:
    若设置length长度小于数组本身长度,舍弃多余;
    若设置length长度大于数组本身的长度,那缺少部分用空位补齐
若违法(例如:为负数,为字符串),则提示U
(3)数组的遍历
若想连续访问数组中的每个元素,可以使用for in来快速遍历
for(var index in arr):从头到尾
for(var i=0;i<arr.length;i++):可以指定初始位置
(4)数组的空位
当数组的某个位置为空,即俩逗号见没有任何之,则数组存在空位
ps:空位是占位置的
例:var arr4=[123,,,456,789,]
console.log(arr.length);
console.log(arr);
(5)数组的'删除'
delete命令能够删除数组中的元素的值,从而形成空位,但不会影响数组本身
ps:根据数组下标来删除
例:var arrxx=[111,222,333,444];
console.log(arrxx);
console.log(arrxx.length);
delete arrr[1];
console.log(arrxx);
console.log(arrxx.length);
3.数组的调用
通过[数组名+下标]的方式来进行访问
ps:元素一次只能访问一个

二、数组的操作方法
1.isArary方法
判断当前对象是否为数组
是:返回ture 否:返回false
语法:var arr=[];
Array.isArray(arr);
2.valueOf方法
返回数组本身
3.toString方法
能够把数组转换成字符串
语法:arr.toString();
ps:不仅能转换数组,也能转换布尔值
思考:能不能以其他符号隔开元素,而不是默认的逗号?
4.push方法:
数组的末尾添加一个或多个元素,并返回添加后的数组的长度
语法:arr.push(item);
5.pop方法
删除数组的最后一个元素,并返回该元素
语法:arr.pop();
复习:堆栈
6.jion方法
以给定的参数做分隔符,组合字符串
语法:arr.jion(separator)
7.shift方法(上档)
用于删除数组中的第一个元素,并返回该元素
语法:arr.shift();
8.unshift方法(退档)
在数组的第一个位置添加元素,并返回新数组的长度
语法:arr.unshift(item);
ps:若一次写多个item则按照先后顺序写入;
9.reverse方法
反序排列数组
语法:arr.reverse()
【注意】:会改变原数组
10.slice方法
从index1~index2(不包括index2)截取,并生成新的数组
语法:arr.slice(index1,index2);
ps:若只写一个参数,截图从当前下标到最后一个元素
11.splice方法
截取,删除,再插入一些新元素,将删除元素构成新数组返回
语法:arr.splice(index,removeCount,addItem1,addItem2,...);
ps:会改变原数组
pss:有无addItemn1,......是不重要的~
12.sort方法
默认用编码方式进行排序
语法:arr.sort();
ps:改变原数组
13.indexOf()
查找某元素在数组中第一次出现的下标,从第一个位置开始查找
语法:arr.indeOf(item,beginIndex);
若找到,返回下标值;若找不到,返回-1
14.lastIndexOf()
查找某元素在数组中最后一次出现的下标,指定位置开始查找
三、二维数组
二维数组
语法:var arr=[item1,item2],[item3,item4];
arr[0][1]=item1;
arr[1][0]=item3;
第一个下标代表外层数组的位置,第二下标代表内层数组的位置
延伸游戏:五子棋,2048
与其苟延残喘,不如从容燃烧!~
原文地址:https://www.cnblogs.com/ilaozhao/p/6574253.html