add:数组的其他方法
This commit is contained in:
@@ -168,6 +168,8 @@ set 属性名(){} 用来监视当前属性值变化的回调函数
|
||||
|
||||
> 下面讲的这几个方法,都是给数组的实例用的。
|
||||
|
||||
> 下面提到的数组的这五个方法,更详细的内容,可以看《03-JavaScript基础/15-数组的四个基本方法&数组的遍历.md》、《03-JavaScript基础/17-数组的其他方法.md》。
|
||||
|
||||
**方法1**:
|
||||
|
||||
|
||||
@@ -175,7 +177,7 @@ set 属性名(){} 用来监视当前属性值变化的回调函数
|
||||
Array.prototype.indexOf(value)
|
||||
```
|
||||
|
||||
作用:获取值在数组中的第一个下标。
|
||||
作用:获取 value 在数组中的第一个下标。
|
||||
|
||||
**方法2**:
|
||||
|
||||
@@ -184,15 +186,7 @@ set 属性名(){} 用来监视当前属性值变化的回调函数
|
||||
Array.prototype.lastIndexOf(value)
|
||||
```
|
||||
|
||||
作用:获取值在数组中的最后一个下标。
|
||||
|
||||
举例:
|
||||
|
||||
```javascript
|
||||
var arr = [1, 3, 6, 2, 5, 6];
|
||||
console.log(arr.indexOf(6));//2
|
||||
console.log(arr.lastIndexOf(6));//5
|
||||
```
|
||||
作用:获取 value 在数组中的最后一个下标。
|
||||
|
||||
**方法3**:遍历数组
|
||||
|
||||
@@ -201,20 +195,6 @@ set 属性名(){} 用来监视当前属性值变化的回调函数
|
||||
Array.prototype.forEach(function(item, index){})
|
||||
```
|
||||
|
||||
举例:
|
||||
|
||||
```javascript
|
||||
var arr = [1, 3, 6, 2, 5, 6];
|
||||
|
||||
arr.forEach(function (item, index) {
|
||||
console.log(item, index);
|
||||
});
|
||||
|
||||
```
|
||||
|
||||
打印结果:
|
||||
|
||||

|
||||
|
||||
**方法4**:
|
||||
|
||||
@@ -224,50 +204,15 @@ set 属性名(){} 用来监视当前属性值变化的回调函数
|
||||
|
||||
作用:遍历数组返回一个新的数组,返回的是**加工之后**的新数组。
|
||||
|
||||
比如说,有一个已知的数组arr1,我要求让arr1中的每个素加10,这里就可以用到map方法。举例:
|
||||
|
||||
```javascript
|
||||
var arr1 = [1, 3, 6, 2, 5, 6];
|
||||
|
||||
var arr2 = arr1.map(function (item, index) {
|
||||
return item + 10; //让arr1中的每个元素加10
|
||||
|
||||
})
|
||||
console.log(arr2);
|
||||
```
|
||||
|
||||
打印结果:
|
||||
|
||||

|
||||
|
||||
**方法5**:
|
||||
|
||||
|
||||
```javascript
|
||||
Array.prototype.filter(function(item, index){})
|
||||
```
|
||||
|
||||
|
||||
作用:遍历过滤出一个新的子数组,返回条件为true的值。
|
||||
|
||||
举例:让找出数组arr1中大于4的元素,返回一个新的数组。代码如下:
|
||||
|
||||
|
||||
```javascript
|
||||
var arr1 = [1, 3, 6, 2, 5, 6];
|
||||
|
||||
var arr2 = arr1.filter(function (item, index) {
|
||||
return item > 4; //将arr1中大于4的元素返回
|
||||
})
|
||||
console.log(arr2);
|
||||
|
||||
```
|
||||
|
||||
|
||||
打印结果:
|
||||
|
||||

|
||||
|
||||
## 函数function的扩展:bind()
|
||||
|
||||
> ES5中新增了`bind()`函数来改变this的指向。
|
||||
|
||||
@@ -85,8 +85,9 @@ ES6中的字符串扩展,用得少,而且逻辑相对简单。如下:
|
||||
|
||||
## 数组的扩展
|
||||
|
||||
### 扩展1
|
||||
> 下面提到的数组的几个方法,更详细的内容,可以看《03-JavaScript基础/17-数组的其他方法.md》。
|
||||
|
||||
### 扩展1:Array.from()
|
||||
|
||||
```javascript
|
||||
Array.from(伪数组/可遍历的对象)
|
||||
@@ -131,8 +132,7 @@ ES6中的字符串扩展,用得少,而且逻辑相对简单。如下:
|
||||
|
||||

|
||||
|
||||
### 扩展2
|
||||
|
||||
### 扩展2:Array.of()
|
||||
|
||||
```javascript
|
||||
Array.of(value1, value2, value3)
|
||||
@@ -149,7 +149,7 @@ ES6中的字符串扩展,用得少,而且逻辑相对简单。如下:
|
||||
console.log(arr);
|
||||
```
|
||||
|
||||
### 扩展3
|
||||
### 扩展3:find() 和 findIndex()
|
||||
|
||||
**方法1**:
|
||||
|
||||
@@ -158,19 +158,7 @@ ES6中的字符串扩展,用得少,而且逻辑相对简单。如下:
|
||||
find(function(item, index, arr){return true})
|
||||
```
|
||||
|
||||
**作用**:找出第一个满足「指定条件返回true」的元素。
|
||||
|
||||
举例:
|
||||
|
||||
```javascript
|
||||
let arr = [2, 3, 2, 5, 7, 6];
|
||||
|
||||
let result = arr.find(function (item, index) {
|
||||
return item > 4; //遍历数组arr,一旦发现有第一个元素大于4,就把这个元素返回
|
||||
});
|
||||
|
||||
console.log(result); //打印结果:5
|
||||
```
|
||||
**作用**:找出**第一个**满足「指定条件返回true」的元素。
|
||||
|
||||
**方法2**:
|
||||
|
||||
@@ -180,19 +168,6 @@ ES6中的字符串扩展,用得少,而且逻辑相对简单。如下:
|
||||
|
||||
**作用**:找出第一个满足「指定条件返回true」的元素的index。
|
||||
|
||||
举例:
|
||||
|
||||
> 我们直接把上面的代码中的find方法改成findIndex即可。
|
||||
|
||||
```javascript
|
||||
let arr = [2, 3, 2, 5, 7, 6];
|
||||
|
||||
let result = arr.findIndex(function (item, index) {
|
||||
return item > 4; //遍历数组arr,一旦发现有第一个元素大于4,就把这个元素的index返回
|
||||
});
|
||||
|
||||
console.log(result); //打印结果:3
|
||||
```
|
||||
|
||||
## 对象的扩展
|
||||
|
||||
|
||||
Reference in New Issue
Block a user