网站首页 > 技术文章 正文
ES6新增数组方法
map——>映射
arr.map(function(数组中的每一项){});//针对数组中的每一项进行操作
let arr = [1,2,3,4];
alert(arr);
let arr2 = arr.map(function(x){
return x + 1;
});
alert(arr2);
filter——>过滤
arr.filter(function(数组中的每一项){});//针对数组中符合条件的进行操作
let arr = [1,2,3,4];
alert(arr);
let arr2 = arr.filter(function(x){
return x % 2;
});
alert(arr2);
//简写形式
let arr2 = arr.filter(x => x % 2);
forEach——>循环
arr.forEach(function(每一项的值value,每一项的索引index,数组本身array){});
arr.forEach(function(value,index,array){
//alert(value);
//alert(index);
//alert(array);
console.log(value,index,array);
});
reduce——>汇总
- arr.reduce(函数[,初始值])
- arr.reduce(function(前一个值pre,当前值cur,索引值index,数组本身arr){});
arr.reduce(function(pre,cur,index,array){
console.log(`pre is ${pre},cur is ${cur},index is ${index},array is ${array}`);
});
如果没有指定初始值,默认会把数组的第一项作为初始值(第一个pre)
let arr = [1,2,3,4];
let sum = arr.reduce(function(pre,cur,index,array){
return pre + cur;
});
alert(sum);//10
函数的返回值,每次作为前一个值
let arr = [1,2,3,4];
let sum = arr.reduce(function(pre,cur,index,array){
return pre + cur;
});
alert(sum);//10
如果指定了初始值,初始值作为第一次的pre值
let arr = [1,2,3,4];
let sum = arr.reduce(function(pre,cur,index,array){
return pre + cur;
},100);
alert(sum);//110
利用reduce方法将二维数组转换为一维数组
arr1 = [[1,2],[3,4],[5,6]];
let arr2 = arr1.reduce(function(pre,cur,index,array){
return pre.concat(cur);
});
alert(arr2);
猜你喜欢
- 2024-10-11 js中传统和es6方式 实现数组去重(js数组去重方法es6)
- 2024-10-11 重读《学习JS数据结构与算法-第三版》- 第3章 数组 二
- 2024-10-11 ES6的这些操作技巧,你会吗(es6 教程)
- 2024-10-11 Es6基础语法(es6的语法有哪些)
- 2024-10-11 ES6之扩展运算符的精彩操作(...扩展运算符)
- 2024-10-11 JS面试之数组的几个不low操作(js 数组面试题)
- 2024-10-11 数组的扩展(数组扩展长度的方法)
- 2024-10-11 ES6中Array数组你应该知道的操作(es6数组排序的方法)
- 2024-10-11 ES6 数组的遍历方法最重要的不在代码本身,而是语义化!
- 2024-10-11 ES6 数组解构赋值(es6 结构赋值)
- 最近发表
-
- 聊一下 gRPC 的 C++ 异步编程_grpc 异步流模式
- [原创首发]安全日志管理中心实战(3)——开源NIDS之suricata部署
- 超详细手把手搭建在ubuntu系统的FFmpeg环境
- Nginx运维之路(Docker多段构建新版本并增加第三方模
- 92.1K小星星,一款开源免费的远程桌面,让你告别付费远程控制!
- Go 人脸识别教程_piwigo人脸识别
- 安卓手机安装Termux——搭建移动服务器
- ubuntu 安装开发环境(c/c++ 15)_ubuntu安装c++编译器
- Rust开发环境搭建指南:从安装到镜像配置的零坑实践
- Windows系统安装VirtualBox构造本地Linux开发环境
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (73)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)
