| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> JavaScript_数组常用方法( 2 ) -> 正文阅读 |
|
[JavaScript知识库]JavaScript_数组常用方法( 2 ) |
目录 数组常用方法 2?:
? forEach?的原理 :????????+?会根据数组内的成员数量分别调用?a?函数 ????????+?第一次调用?a(10,?0,?[10,?20,?30,?40,?50]) ????????+?第二次调用?a(20,?1,?[10,?20,?30,?40,?50]) ????????+?第三次调用?a(30,?2,?[10,?20,?30,?40,?50]) ????????+?第四次调用?a(40,?3,?[10,?20,?30,?40,?50]) ????????+?第五次调用?a(50,?4,?[10,?20,?30,?40,?50])
map?的原理 :????????1.?准备一个新数组 ??????????=>?[? ] 返回值=>[10,?20,?30,?40,?50] ????????2.?开始根据原始数据进行遍历 ??????????=>?第一次调用?a(10,?0,?原始数组),?返回值是?10,?把这个返回值放在新数组里面 ??????????=>?第二次调用?a(20,?1,?原始数组),?返回值是 40,?把这个返回值放在新数组里面 ??????????=>?第三次调用?a(30,?2,?原始数组),?返回值是 90,?把这个返回值放在新数组里面 ??????????=>?第四次调用?a(40, 3,?原始数组),?返回值是 160,?把这个返回值放在新数组里面 ??????????=>?第五次调用?a(50, 4,?原始数组),?返回值是 250,?把这个返回值放在新数组里面 ??????????=>?... ????????3.?把?最终的这个数组当做?map?这个方法的返回值
filter 的原理 :????????1.?准备一个空数组 ??????????=>?[? ] 返回值=>[20, 40] ????????2.?开始根据数组内有多少成员调用多少次?a?函数 ??????????=>?第一次调用?a(10,?0,?原始数组),?返回值?false,?那么?10?不加入新数组 ??????????=>?第二次调用?a(20,?1,?原始数组),?返回值?true,?那么?20?加入新数组 ??????????=>?第三次调用?a(30,?2,?原始数组),?返回值?false,?那么?30?不加入新数组 ??????????=>?第四次调用?a(40,?3,?原始数组),?返回值?true,?那么?40?加入新数组 ??????????=>?第五次调用?a(50,?4,?原始数组),?返回值 false,?那么?50 不加入新数组 ????????3.?把数组最终结果当做?filter?的返回值
reduce?原理 :????????1.?准备了一个初始值,?按照你传递的第二个参数来定 ??????????=>?准备初始值?var?init?=?0 ??????????=>?第一次赋值?var?init?=?10 ??????????=>?第二次赋值?var?init?=?30 ??????????=>?第三次赋值?var?init?=?60 ??????????=>?第四次赋值?var?init?=?100 ??????????=>?第五次赋值?var?init?=?150 ????????2.?根据原始数组来调用?a?函数 ??????????=>?第一次调用?a(0,?10,?0,?原始数组),?return?0?+?10,?把?返回值再次赋值给?init ??????????=>?第二次调用?a(10,?20,?1,?原始数组),?return?10?+?20,?把?返回值再次赋值给?init ??????????=>?第三次调用?a(30,?30,?2,?原始数组),?return?30?+?30,?把?返回值再次赋值给?init ??????????=>?第四次调用?a(60,?40,?3,?原始数组),?return?60?+?40,?把?返回值再次赋值给?init ??????????=>?第五次调用?a(100,?50,?4,?原始数组),?return?100?+?50,?把?返回值再次赋值给?init ????????3.?把最初始准备的变量?init?结果,?当做?reduce?的返回值 上一篇 :?JavaScript_数组-数组常用方法( 1 )? |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 0:48:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |