[TOC]
### 1.增
> 1.push:从后开始增加
> 2.unshift:从头增加
> 3.concat:不会改变原数组结构,可以传数组
> 4.splice:index起始下标(添加在该数之前),0,item添加的内容
#### 1.push:从数组最后面开始增加
~~~
<script>
//1.增加 push从后开始增加
var arr = [1,2,3,4];
//增加数值
arr.push(5,6);
//如果增加数值会变成一个二维数组
arr.push([5,6]);
console.log(arr);
//[1, 2, 3, 4, 5, 6, Array(2)]
</script>
~~~
#### 2.unshift从数组最前面增加,可传数组,但将该数组作为一个元素传入,要将其展开使用展开语法
~~~
<script>
//2.unshift从头增加
var arr = [1,2,3,4];
arr.push(5,6);
arr.unshift(-1,0);
console.log(arr);
//[-1, 0, 1, 2, 3, 4, 5, 6]
</script>
~~~
#### 3.concat不改变数组的结构
~~~
<script>
//3.concat
var arr = [1,2,3,4];
var n = arr.concat(7,8);
//需要定义一个新数组去承接添加的新数组,原数组不改变
//可以传数组,var n = arr.concat([7,8]);
console.log(arr);
//[1, 2, 3, 4]
console.log(n);
//[1, 2, 3, 4, 7, 8]
</script>
~~~
#### 4.splice:index起始下标(添加在该数之前),0,item添加的内容
### 2.删
#### 1.pop()从后删除,默认删除最后一个
#### 2.shift()从头删除,默认删除第一个
#### 3.splice(index,howmany)
~~~
<script>
var arr = [1,2,3,4,5];
arr.shift();//从头删除,默认删除第一个
arr.pop();//从后删除
console.log(arr);
</script>
~~~
### 3.修改
#### 1.splice(index,howmany,item)
~~~
var arr = [1,2,3,4,5];
arr.splice(2,3,7,10);//1,2,7,10
~~~
#### 2.arr\[index\] = 更改的数字
### splice
#### 1.增加(起始下标,修改个数,修改为何内容)在起始下标之前增加修改的内容
~~~
<script>
var arr = [1,2,3,4,5,6];
arr.splice(0,0,8);
console.log(arr);//8,1,2,3,4,5,6
</script>
~~~
#### 2.删除
~~~
<script>
var arr = [1,2,3,4,5,6];
arr.splice(2,3);
console.log(arr);//1,2,6
</script>
~~~
#### 3.修改
~~~
var arr = [1,2,3,4,5];
arr.splice(2,3,7,10);//1,2,7,10
~~~
### 4.查询
#### 1.indexOf查询数组下标、arr\[index\]查对应的下标的值
~~~
var arr = [1,2,3,4,5,6];
var index = arr.indexOf(5);
~~~
#### 2.截取:slice (起始数值的下标(包含该数),截止数值的下标(不包含该数)) 不改变数组结构
~~~
var arr = [1,2,3,4,5,6];
var b = arr.slice(1,3);
~~~
#### 3.最大值
~~~
var arr = [1,2,3,4,0];
var max = Math.max(...arr);
~~~
### 5.可将非数组变成数组:Array.prototype.slice.call(arr)
- 面试题
- 自我介绍
- 问答
- HTML
- 1.@import与link的区别
- CSS
- 1.display: none; 与visibiliy: hidden; 的区别
- 三角形
- margin-top
- 移动端适配问题
- JavaScript
- JavaScript原型和原型链
- 什么是promise
- call、apply、bind区别
- 用函数将字符串转化为驼峰命名
- 数组操作
- 1.筛选
- 2.排序
- 3.反转
- 4.去重
- 字符串方法
- 5.二叉树
- 6.克隆数组
- 重载
- (待完善)JavaScript事件
- dom事件流
- 四则运算符
- cookie,LocalStorage,sessionStorage
- 浅拷贝和深拷贝
- 对象
- 浏览器
- web性能优化
- 定时器
- 回调地狱
- 遍历的几种方式
- this指向
- HTTP
- 输入ur发生了什么
- ajax
- 跨域
- jquery跨域
- axios
- vue
- (待完善)缓存
- bootstarp
- es6
- 01解构赋值
- (未完成)class
