一、数组
1、数组的创建
- 数组就是一个 `[]`
- 在 `[]` 里面存储着各种各样的数据,按照顺序依次排好
①字面量创建一个数组 var a = [1,2,3]
②内置构造函数创建数组 var arr = new Array(1,2,3)
获取某一个成员 数组[键名] = 值
2、数组的长度 length
- length: 长度的意思
- length 就是表示数组的长度,数组里面有多少个成员,length 就是多少
3、数组的素引
- 索引,也叫下标,是指一个数组里面排在第几个的位置
- 数组的索引从 0 开始
- 复杂数据类型的存储
1. 在堆里面开辟一个存储空间
2. 把数据存储到存储空间内
3. 把存储空间的地址赋值给栈里面的变量
### 伪数组转数组的方法 (就是伪参数)
① Array.from( arguments )
②var arr = [...arguments]
4、数组的常用方法 ES3
①、 `push` 是用来在数组的末尾追加一个元素
②、`pop` 是用来在数组的末尾删除一个元素
③、`unshift` 是在数组的最前面添加一个元素
④、 `shift` 是删除数组最前面的一个元素
⑤、`splice` 是截取数组中的某些内容,按照数组的索引来截取
- 语法: `splice(从哪一个索引位置开始,截取多少个,替换的新元素)` (第三个参数可以不写)
⑥、- `reverse` 是用来反转数组使用的
⑦、`sort` 是用来给数组排序的
- 一定要串一个函数要不然比较 ASSCI 码来排序
var res = arr.sort(function(a, b) {
// return a - b;
// 就是正序的排列
// return b - a;
// 就是倒序的排列
// })
⑧、`concat` 是把多个数组进行拼接
- 和之前的方法有一些不一样的地方,就是 `concat` 不会改变原始数组,而是返回一个新的数组
⑨、- `join` 是把数组里面的每一项内容链接起来,变成一个字符串
- 可以自己定义每一项之间链接的内容 `join(要以什么内容链接)`
- 不会改变原始数组,而是把链接好的字符串返回
## for 和 for in 循环
1、for 循环
- 因为数组的索引就可以获取数组中的内容
- 数组的索引又是按照 0 ~ n 顺序排列
- 我们就可以使用 for 循环来循环数组,因为 for 循环我们也可以设置成 0 ~ n 顺序增加
- 我们把这个行为叫做 **遍历**
for (var i = 0; i < arr.length; i++) {
console.log(arr[i])
}
5、数组的方法 ES5
①、`indexOf` 用来找到数组中某一项的索引
语法: `indexOf(你要找的数组中的项)`
- 如果你要找的内容在数组中没有,那么就会返回 -1
②、forEach遍历数组
语法:`arr.forEach(function (item, index, arr) {})`
- forEach() 的时候传递的那个函数,会根据数组的长度执行
- 数组的长度是多少,这个函数就会执行多少回
③、map 对数组中的每一项进行操作,返回一个新的数组
语法:`arr.map(function (item, index, arr) {
return item + 10
})`
④、filter 对数组中的每一项进行筛选,返回一个新的数组
语法:`arr.filter (function (item, index, arr) {
return item > 10
})`
⑤、some循环 : 一些 循环的返还值 只要有一个true 那么最终结果就是true 否则就是false
⑥、every 循环 : 只要有一个true 就返回true 除非都是false
⑦、