update: Node.js的介绍
This commit is contained in:
@@ -61,7 +61,7 @@
|
||||
| forEach() | 和 for 循环类似,但需要兼容 IE8 以上 | forEach() 没有返回值。也就是说,它的返回值是 undefined |
|
||||
| map() | 对原数组中的每一项进行加工,将组成新的数组 | 不会改变原数组 |
|
||||
| filter() | 过滤数组:返回结果是 true 的项,将组成新的数组,返回结果为**新的数组** | 不会改变原数组 |
|
||||
| reduce | 接收一个函数作为累加器,返回值是回调函数累计处理的结果。 | |
|
||||
| reduce | 接收一个函数作为累加器,返回值是回调函数累计处理的结果 | |
|
||||
|
||||
## isArray():判断是否为数组
|
||||
|
||||
@@ -348,6 +348,8 @@ array = Array.from(arrayLike);
|
||||
|
||||
上方语法中,第三个及之后的参数,表示:删除元素之后,向原数组中添加新的元素,这些元素将会自动插入到起始位置索引的前面。也可以理解成:删除了哪些元素,就在那些元素的所在位置补充新的内容。
|
||||
|
||||
`slice()`方法和`splice()`方法很容易搞混,请一定要注意区分。
|
||||
|
||||
举例 1:
|
||||
|
||||
```javascript
|
||||
@@ -448,7 +450,7 @@ console.log(['a', 'b', 'c', 'd'].fill('f')); // ['f', 'f', 'f,' 'f']
|
||||
console.log(['a', 'b', 'c', 'd'].fill('f', 1, 3)); // ["a", "f", "f", "d"]
|
||||
```
|
||||
|
||||
## 素组的合并和拆分
|
||||
## 数组的合并和拆分
|
||||
|
||||
### concat()
|
||||
|
||||
@@ -971,9 +973,9 @@ every() 和 some() 这两个方法,初学者很容易搞混。要怎么区分
|
||||
|
||||
## 概念:数组的遍历
|
||||
|
||||
遍历数组即:获取并操作数组中的每一个元素。在我们的实战开发中,使用得非常频繁。
|
||||
遍历数组即:获取并操作数组中的每一个元素,然后得到想要的返回结果。在我们的实战开发中,使用得非常频繁。
|
||||
|
||||
遍历数组的方法包括:every()、filter()、forEach()、map()、some()
|
||||
遍历数组的方法包括:every()、filter()、forEach()、map()等。
|
||||
|
||||
PS:这几个方法**不会修改原数组**。
|
||||
|
||||
@@ -1290,7 +1292,7 @@ console.log(JSON.stringify(arr2));
|
||||
|
||||
### reduce() 语法
|
||||
|
||||
> reduce 的发音:[rɪ'djuːs]。中文含义是减少。
|
||||
> reduce 的发音:[rɪ'djuːs]。中文含义是减少,但这个方法跟“减少”没有任何关系。
|
||||
|
||||
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。返回值是回调函数累计处理的结果。
|
||||
|
||||
@@ -1314,7 +1316,7 @@ arr.reduce(function (previousValue, currentValue, currentIndex, arr) {}, initial
|
||||
|
||||
在以往的数组方法中,匿名的回调函数里是传三个参数:item、index、arr。但是在 reduce() 方法中,前面多传了一个参数`previousValue`,这个参数的意思是上一次调用回调函数时的返回值。第一次执行回调函数时,previousValue 没有值怎么办?可以用 initialValue 参数传给它。
|
||||
|
||||
备注:绝大多数人在一开始接触 reduce() 的时候会很懵逼,但是没关系,有事没事多看几遍,自然就掌握了。如果能熟练使用 reduce() 的用法,将能替代很多其他的数组方法,并成功走上进阶之路,领先他人。
|
||||
备注:绝大多数人在一开始接触 reduce() 的时候会很懵逼,但是没关系,有事没事多看几遍,自然就掌握了。如果能熟练使用 reduce() 的用法,将能替代很多其他的数组方法,并逐渐走上进阶之路,领先于他人。
|
||||
|
||||
为了方便理解 reduce(),我们先来看看下面的简单代码,过渡一下:
|
||||
|
||||
@@ -1354,7 +1356,7 @@ arr1.reduce((prev, item) => {
|
||||
|
||||
上面的代码中,由于`return`的是固定值,所以 prev 打印的也是固定值(只有初始值是 0,剩下的遍历中,都是打印 88)。
|
||||
|
||||
现在来升级一下,实际开发中,prev 的值往往是动态变化的。我们来看几个例子就明白了。
|
||||
现在来升级一下,实际开发中,prev 的值往往是动态变化的,这便是 reduce()的精妙之处。我们来看几个例子就明白了。
|
||||
|
||||
### reduce() 的常见应用
|
||||
|
||||
|
||||
Reference in New Issue
Block a user