We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[1, 2, 3].map(val=> val + 1) // -> [2, 3, 4]
另外 map 的回调函数接受三个参数,分别是当前索引元素,索引,原数组。
array.map(function(currentValue, index, arr), thisIndex)
function(currentValue, index, arr)必须为一个函数,数组中的每个元素都会执行这个函数。其中函数参数:
let array = [1, 2, 3] let newArray = array.filter(val => val !== 2) console.log(newArray) // [1, 3]
和 map 一样,filter 的回调函数也接受三个参数,用处也相同。
3.forEach 方法用于调用数组的每个元素,并将元素传递给回调函数。
语法:
array.forEach(function(currentValue, index, arr), thisValue)
[1, 2, 3].forEach(item => console.log(item + 1)) //2,3,4
最后我们来讲解 reduce 这块的内容,同时也是最难理解的一块内容。reduce 可以将数组中的元素通过回调函数最终转换为一个值。
如果我们想实现一个功能将函数里的元素全部相加得到一个值,可能会这样写代码。
const arr = [1, 2, 3] let total = 0 for (let i = 0; i < arr.length; i++) { total += arr[i] } console.log(total) //6
但是如果我们使用 reduce 的话就可以将遍历部分的代码优化为一行代码。
const arr = [1, 2, 3] const sum = arr.reduce((acc, current) => acc + current, 0) console.log(sum)
对于 reduce 来说,它接受两个参数,分别是回调函数和初始值,接下来我们来分解上述代码中 reduce 的过程
想必通过以上的解析大家应该明白 reduce 是如何通过回调函数将所有元素最终转换为一个值的,当然 reduce 还可以实现很多功能,接下来我们就通过 reduce 来实现 map 函数
(当然我们可以通过for循环来实现filter和map函数,这里就不再赘述,下面我们用reduce实现。)
const mapArray = [1, 2, 3].map(val => val * 2) const reduceArray = arr.reduce((total, curr) => { total.push(curr * 2) return total }, []) console.log(mapArray, reduceArray) // [2, 4, 6]
当然filter函数也按道理可得:
const arr = [1, 2, 3] const filterArray = arr.filter(value => value !== 2) const reduceArray = arr.reduce((total, curr) => { if(curr !== 2) { total.push(curr) } return total }, []) console.log(filterArray , reduceArray) // [1, 3]
The text was updated successfully, but these errors were encountered:
No branches or pull requests
实现一个map,filter函数
另外 map 的回调函数接受三个参数,分别是当前索引元素,索引,原数组。
function(currentValue, index, arr)必须为一个函数,数组中的每个元素都会执行这个函数。其中函数参数:
和 map 一样,filter 的回调函数也接受三个参数,用处也相同。
3.forEach 方法用于调用数组的每个元素,并将元素传递给回调函数。
语法:
最后我们来讲解 reduce 这块的内容,同时也是最难理解的一块内容。reduce 可以将数组中的元素通过回调函数最终转换为一个值。
如果我们想实现一个功能将函数里的元素全部相加得到一个值,可能会这样写代码。
但是如果我们使用 reduce 的话就可以将遍历部分的代码优化为一行代码。
对于 reduce 来说,它接受两个参数,分别是回调函数和初始值,接下来我们来分解上述代码中 reduce 的过程
想必通过以上的解析大家应该明白 reduce 是如何通过回调函数将所有元素最终转换为一个值的,当然 reduce 还可以实现很多功能,接下来我们就通过 reduce 来实现 map 函数
(当然我们可以通过for循环来实现filter和map函数,这里就不再赘述,下面我们用reduce实现。)
当然filter函数也按道理可得:
The text was updated successfully, but these errors were encountered: