数组的概念
- 数组是一个数据的集合
- 量词,用一个变量存储批量的数据
样式:[1, 2, 3, ‘hello’, true, false]
数据类型分类
number
/string
/boolean
/undefined
/null
/object
/function
/array
/ …- 数组也是数据类型中的一种
- 我们简单的把所有数据类型分为两个大类 基本数据类型 和 复杂数据类型
- 基本数据类型:
number
/string
/boolean
/undefined
/null
- 复杂数据类型:
object
/function
/array
/ …声明数组的方法
```javascript <1>通过new直接声明 var arr = new Array(100, true, “hello”); console.log(arr); <2>省略new声明数组 var arr = Array(100, true, “hello”); console.log(arr); <3>声明数组,可以通过数组常量 var arr = [100, true, “hello”]; console.log(arr);
<a name="LUWL9"></a>
## 数组的索引
1、访问数组中的元素<br /> arr[下标] 下标是从0开始的<br /> 2、访问数组中元素的个数<br /> arr.length
<a name="mnh3p"></a>
## 数组中的问题
如果你通过下面两个方法创建数组,并且只传入了一个参数,那么会生成这么长的数组,而不是把这个数存储进去。<br /> new Array(n)<br /> Array(n)
```javascript
var arr = new Array(10);
console.log(arr);
for(var i = 0; i < arr.length; i++){
//如果你指定下标去访问的时候,系统会自动赋值一个undefined去访问。
console.log(arr[i]);
}
数组的遍历
1、for循环:每循环一次,就重新判断,再进行循环。
2、快速遍历/快速枚举 for…in:直接从头到尾遍历
var newArr = new Array(10); //<10 empty slots>
console.log(newArr);
newArr[4] = 100;
newArr[15] = 200;
console.log("遍历开始1");
方法1: for(var i in newArr){
console.log(i, newArr[i]);
}
console.log("遍历结束1");
console.log("遍历开始2");
方法2: for(var i = 0; i < newArr.length; i++){
console.log(i, newArr[i]);
}
console.log("遍历结束2");
数组的方法
栈:古代的木盆。
结构:从同一个口进,从同一个口出。<br /> 特点:先进后出。
我们可以通过数组的两个方法,去模拟栈结构<br /> push();<br /> pop();
队列,每天你都在排队。
结构:从尾部进入,从头部取出<br /> 特点:先进先出。
push()<br /> shift()
shift();
从数组的头部取下一个元素。<br /> 格式:数组.shift()<br /> 返回值:取下的这个元素
unshift()
从数组的头部插入元素。<br /> 格式:数组.unshift(元素1, 元素2...);<br /> 返回值:插完元素以后数组的长度。
push()
格式:数组.push(元素1, 元素2...)<br /> 功能:将传入的参数插入到数组的末尾<br /> 返回值:插完元素以后,数组的长度。
pop()
格式:数组.pop()<br /> 功能:从数组的末尾取下一个元素<br /> 返回值:取下的元素。
sort 排序
【注】按照字符串从小到大排序。<br />传入排序规则<br /> 升序<br /> arr.sort(function(value1, value2){<br /> return value1 - value2;<br /> })<br /> console.log(arr);<br />降序<br /> arr.sort(function(value1, value2){<br /> return value2 - value1;<br /> })<br /> console.log(arr);
concat();
格式1: 数组.concat();<br /> 作用:拷贝原数组,生成新数组。
格式2: 数组.concat(数组,元素....);<br /> 作用:合并所有的元素和数组,生成新数组。<br /> 返回值:生成的新数组。
slice()
格式:数组.slice(start, end);<br /> 功能:根据传入的下标,获取对应的元素,生成新数组。 [start, end)<br /> 返回值:生成的新数组.
splice()
格式:数组.splice()<br /> 参数:<br /> 1、第一个参数,从哪个下标开始<br /> 2、第二个参数,截取元素的长度<br /> 3、第三个参数开始往后,在下标位置插入的元素。
返回值:截取下来的元素组成的数组。
join()
数组.join(字符串)<br /> 功能:用传入的字符串对数组中的元素进行字符串拼接<br /> 返回值:拼接好的字符串。
revese() 数组逆序