Array
一 概念
#### 1、常见数组
```js
[1, 2, 3] | ['1', '2', '3'] | [1, '2', true]
```
#### 2、常用属性
```js
length:数组元素个数
```
#### 3、常用基础方法
```js
concat(arr):将目标数组拼接到指定数组之后
indexOf(ele):指定元素第一次出现的位置
lastIndexOf(ele):指定元素最一次出现的位置
reverse():反转数组
includes(ele, n):从索引n开始往后,元素ele是否在数组中,做全等匹配,索引从头开始n可以省略(in只做值匹配)
fill(ele):以指定元素填充整个数组(一般用于清空数组中的数据,不操作长度)
slice(n, m):从索引n开始,截取到索引m(m省略代表截取到最后)
join(str):以指定字符连接成字符串
```
#### 4、增删改方法
```js
push(ele):从尾加
unshift(ele):从头加
pop():从尾删
shift():从头删
splice(begin, length, ...eles):完成增删改
// begin开始索引
// length长度
// 新元素们(可以省略)
二 代码示范
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Array</title>
</head>
<body>
</body>
<script type="text/javascript">
// 数组的定义与取值,索引从0开始
var arr = [1, 2, 3];
console.log(arr);
console.log(arr[1]);
arr = ['1', '2', '3'];
console.log(arr);
arr = ["1", true, [{key: "value"}]]
console.log(arr);
console.log(arr[2][0].key);
// length
console.log(arr.length); // 3
// 常用方法
// concat(arr):将目标数组拼接到指定数组之后
console.log([1, 2, 3].concat(["4", "5", "6"])); // 结果是新数组
// indexOf(ele):指定元素第一次出现的位置
// lastIndexOf(ele):指定元素最一次出现的位置
console.log(arr.indexOf(true)); // 1
// reverse():反转数组
console.log(arr.reverse()); // 反转的到新数组
// includes(ele, n):从索引n开始往后,元素ele是否在数组中,做全等匹配,索引从头开始n可以省略(in只做值匹配)
arr = [1, "1", "2"];
console.log(1 in arr);
console.log(arr.includes(1, 1)); // 只匹配数字1,从索引1开始
// fill(ele):以指定元素填充整个数组
arr.fill(null);
console.log(arr); // 操作原数组,一般用来清空数组中的数据(不操作长度)
// slice(n, m):从索引n开始,截取到索引m(m省略代表截取到最后)
arr = [1, 2, 3, 4, 5];
console.log(arr.slice(1, 3)); // [1, 3)
// join(str):以指定字符串连接成字符串
var str = arr.join("@");
console.log(str);
// 增删改操作方法: 操作的都是原数组
// push() 尾加 | unshift() 头加
// pop() 尾删 | shift() 头删
arr.push(6)
console.log(arr);
arr.unshift(0);
console.log(arr);
// 一次操作一个元素
arr.pop();
arr.shift();
console.log(arr);
// splice方法
// begin开始索引
// length长度
// 新元素们(可以省略)
// 1, 2, 3, 4, 5
// 从头加
arr.splice(0, 0, 0); // 从索引0前方开始操作,操作原数组0个长度,结果多了个元素0
console.log(arr);
// 0, 1, 2, 3, 4, 5
// 从尾加
arr.splice(arr.length, 0, 6);
console.log(arr);
// 0, 1, 2, 3, 4, 5, 6
// 从头删
arr.splice(0, 1) // 从索引0开始,操作原数组一位,替换的新值省略代表删除
console.log(arr);
// 1, 2, 3, 4, 5, 6
// 从尾删
arr.splice(arr.length - 1, 1)
console.log(arr);
// 1, 2, 3, 4, 5
// 替换
arr.splice(2, 1, "3", [0, 0], "3"); // 从索引2开始,用"3", [0, 0], "3"替换掉1位
console.log(arr);
// 1, 2, "3", [0, 0], "3", 4, 5
</script>
</html>