[TOC]
# 数组的方法
## 1.增加(改变数组的内容)
### 1.1 push从后增加
> 语法:push(para1,para2)
```
var arr = [1,2,3,4];
arr.push(5,6);
```
### 1.2unshift从头增加
> 语法:unshift(para1,para2)
```
var arr = [1,2,3,4];
arr.unshift(-1,0);
```
### 1.3增加 concat()(不改变原来数组内容)
concat(value|[arr]) 本方法可以传单个值,也可以传数组
```
var arr = [1,2,3,4];
var n = arr.concat(7,8)
console.log(n);//1, 2, 3, 4, 7, 8
console.log(arr);//1, 2, 3, 4
```
**只有赋值给其他元素才会将增加的值一起输出来**
#### 1.3.1.复制数组
* 方法一:
```
var arr = [1,2,3,4];
var b=[];
for(let i=0;i<arr.length;i++){
b.push(arr[i]);
}
```
* 方法二:
```
var arr = [1,2,3,4];
var b = [].concat(arr);
console.log(b);
```
* 方法三:
```
var b = arr.slice(0);
console.log(b);
```
## 2.删除(改变)
### 2.1pop() //从尾部删除
```
var arr = [1,2,3];
alert(arr.pop()); //3
alert(arr) //1,2
```
### 2.1shift() // 从头部删除
```
var arr = [1,2,3];
alert(arr.shift()); //1
```
alert(arr) //2,3
## 3.修改,指定三个参数arrObject.splice(index,howmany,item)
> //指定三个参数:
index-->从哪里开始
howmany-->删除几个
item-->在删除的地方添加的值
```
var arr = [1,2,3,4,5];
arr.splice(0,2,6,7);
alert(arr); //6,7,4,5
```
## 4.查询
### 4.1 arr[index]
```
//arr[index] 查询对应下标的值
var arr=[1,2,3];
console.log(arr[0]); //1;
```
### 4.2indexOf(value)
```
//indexOf(value) 查询对应值的下标
var arr=[1,2,3,4];
console.log(arr.indexOf(1)); //0
//如果没有对应的值,则返回-1
```
### 4.3slice()
```
//arrayObject.slice(start,end)
//1个参数
var arr=[1,2,3,4];
var b=arr.slice(1);
console.log(b); //2,3,4
//2个参数
var c = arr.slice(1,3);
console.log(c); //2,3
```
```
slice复制数组
var arr = [1,2,3];
var b = arr.slice(0);
console.log(b);
```
## 5.splice(改变原来数组) 包含增,删,改
### a.增加,指定三个参数splice(index,howmany,item)
```
//splice(index,howmany,item)
//传3个参数表示:起始位置、0(删除的项数)、插入的项在index之后
var arr= [1,2,3,4,5];
arr.splice(2,0,"red","green"); //在第2位之后,增加2个元素
console.log(arr); //[1,2,"red","green",3,4,5]
```
### b.删除,指定两个参数splice(index,howmany)
```
//splice(index,howmany)
//传2个参数表示:起始位置和删除的个数
var arr = [1,2,3,4,5];
arr.splice(0,2); //从0位开始,删除2个
alert(arr); //[3,4,5]
```
### c.修改,指定三个参数splice(index,howmany,item)
```
//指定三个参数:起始位置,删除的项数,插入的数量
var arr = [1,2,3,4,5];
arr.splice(0,2,6,7);
alert(arr); //6,7,4,5
```
## 6.join
> 通过指定分隔符,将数组所有元素放入字符串
```
arrayObject.join(separator)
var arr=["red","green","yellow"];
var a = arr.join(); //red,green,yellow
var b= arr.join(""); //redgreenyellow
var c=arr.join("."); //red.green.yello
alert(c);
```
## 7.排序
### a.升序
```
```
- 1.JS的基础知识
- (1)调试
- (2)变量
- (3)数据类型
- 数据类型之间的转换
- (4)全局变量和局部变量
- (5)运算符和表达式
- (6)数组
- 2.控制语句DOM,BOM,事件
- (1)控制语句
- (2)DOM的基础
- 节点
- 改变样式
- DOM事件
- 3.函数
- (1)声明函数
- (2)构造函数
- (3)函数的参数
- (4)函数的传参
- (5)改变this
- (6)重载
- (7)回调函数
- 4.数组
- (1)创建数组
- (2)增删改查
- (3)字符串与数组的转换
- 5.正则
- (1)创建正则
- (2)字符串中支持正则
- (3)语法
- 最核心的元字符
- 6.ajax
- (1)原生ajax
- (2)http,get,post
- (3)跨域
- (4)jQuery-ajax
- (5)axios
- 7.面向对象
- (1)原型
- (2)原型链,继承
- (3)多态
- 8.es6小结
- 9.js+canvas实现验证码
- 10.js的作用域
- 11.闭包
- 实例
- toggle
- 图片切换
- swiper
- 遮罩颜色渐变
- 表格添加
- 瀑布流
- ajax数据请求渲染
- 百度地图