示例数据

let users = [{"firstName" : "alex","lastName" : "guo","age" : 18},{"firstName" : "fff","lastName" : "LLL","age" : 20},{"firstName" : "www","lastName" : "zzz","age" : 16},{"firstName" : "bbb","lastName" : "ccc","age" : 24}
];
  • some方法
// array.some() - 检查数组中是否有元素满足条件。某一元素为true,则为true,否则返回false
// 用于检测数组中是否有满足条件的元素。
// some如果遇到 true 就不再执行了。如果都为 false 返回false。不会改变原数组。
// some 英语翻译为一些,所以some方法 只要其中一个为true 就会返回true的。some:一真即真
let result1 = users.some(item => item.age > 20);
console.info(result1); // true
  • every方法
// array.every() - 检查数组中是否所有元素都满足条件。某一个为false,则返回false,否则返回true
// 用于检测数组中所有元素是否都满足该条件。
// every如果遇到 false 就不在执行了。如果都为 true 返回true。不会改变原数组。
// every 英语翻译为所有,所以every方法 必须所有都返回true才会返回true,哪怕有一个false,就会返回false。every:一假即假
let result2 = users.every(item => item.age > 20);
console.info(result2); // false
  • map方法
// array.map() - 对数组中的每一个元素进行操作。返回每一个元素执行后的结果
// 用于处理数组中的数据。产生新数组,不会改变原数组。foreach这是对原有数组进行操作,没有返回值。
// map()方法创建了一个新数组,但新数组并不是在遍历完array1后才被赋值的,而是每遍历一次就得到一个值。
// forEach适合于你并不打算改变数据的时候,而只是想用数据做一些事情 – 比如存入数据库或则打印出来。
let result3 = users.map(item => {return item.age*2;
});
console.info(result3); // [ 36, 40, 32, 48 ]
// map()适用于你要改变数据值的时候。不仅仅在于它更快,而且返回一个新的数组。这样的优点在于你可以使用复合(composition)(map(), filter(), reduce()等组合使用)来玩出更多的花样。
let arr = [1, 2, 3, 4, 5];
let arr2 = arr.map(num => num * 2).filter(num => num > 5);
// arr2 = [6, 8, 10]
// 我们首先使用map将每一个元素乘以2,然后紧接着筛选出那些大于5的元素。最终结果赋值给arr2。
  • reduce方法
let result4 = users.reduce((current, next) => {return (current.age ? current.age : current) + next.age;
});
console.info(result4); // 78
  • filter方法
let result5 = users.filter(item => {if (item.age > 18) {return item;}
});
console.info(result5); // [{ firstName: "fff", lastName: "LLL", age: 20 }, { firstName: "bbb", lastName: "ccc", age: 24 }]
  • slice方法
// 用于截取数组
let result6 = users.slice(-1);
console.info(result6); // [ { firstName: "bbb", lastName: "ccc", age: 24 } ]

ES6 - 不改变原数组的方法相关推荐

  1. html设置数组的方法,js改变原数组的方法有哪些?

    js改变原数组的方法 1.pop() pop():删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值.如果数组已经为空,则 pop() 不 改变数组,并返回 un ...

  2. js中改变原数组的方法以及解决改变原数组的方法

    js中改变原数组的方法以及解决改变原数组的方法 参考文章: (1)js中改变原数组的方法以及解决改变原数组的方法 (2)https://www.cnblogs.com/Ingots/p/1151701 ...

  3. JS数组方法-改变原数组与不改变原数组的方法集合

    改变原数组的方法 push() push() 方法向数组的 末尾添加 一个或多个元素,并返回新的长度 var arr = ['a','b','c']; console.log( arr.push('d ...

  4. js数组方法-改变原数组和不改变原数组的方法整理

    改变原数组: pop():   删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值.如果数组已经为空,则 pop() 不 改变数组,并返回 undefined ...

  5. js中会改变原数组的方法及不改变原数组的方法整理

    改变原数组: 1.pop():删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值.如果数组已经为空,则 pop() 不 改变数组,并返回 undefined 值. ...

  6. js改变原数组的方法和不改变原数组

    一.改变原始数组的方法: 1.pop() pop() 方法移除数组的最后一个元素,并返回该元素. 注意:pop() 方法会改变数组的长度. pop() 返回它删除的元素: let teams = [& ...

  7. 数组方法中,会改变原数组、不会改变原数组的方法有哪些?

    会改变原数组: 1 添加元素类:(返回新的长度) push() 把元素添加到数组尾部 unshift() 在数组头部添加元素 2 删除元素类:(返回的是被删除的元素) pop() 移除数组最后一个元素 ...

  8. 重写数组的方法(改变原数组)

    下图是我自我学习模拟数组时总结的一些重新数组的方法: 本文我们暂不讨论不改变原数组的方法,只谈改变原数组用到的 6 种方法. 改变原数组的方法 push() 按参数顺序向数组尾部添加元素,返回新数组的 ...

  9. JavaScript数组方法大全(分为会不会改变原数组)

    若看不懂注释的输出方式可以将代码粘贴到浏览器中执行观看 1. 数组通用方法 Array.from: 将一个类数组转化成数组 类数组:Set, Map,对象等可遍历对象皆为类数组 Array.from( ...

最新文章

  1. MVVM框架的搭建(二)——项目搭建
  2. Pico Pro Maker Kit NXP i.MX7D刷入Android Things
  3. 一个地方越有钱,人们就越不想结婚?
  4. Android 2.3 r1 中文 API (57) —— ScaleGestureDetector
  5. 679 - Dropping Balls
  6. OSI七层、TCP/IP五层、UDP、TCP的socket编程(服务端及客户端)、字节序转换、多进程以及多线程服务端的实现
  7. Install Java on Ubuntu server
  8. 阿里UX矢量图标库–最强大的矢量图标库(Icon font制作力荐工具)
  9. vc++ 2008 Redistributable Setup Error 1935.An error occurred during the ...
  10. Magnific Popup – 免费的响应式 jQuery Lightbox 插件
  11. 小程序——列表,详情页(模板)
  12. python凹多边形分割_直线切割凹多边形
  13. 让 Directory Opus 支持 Windows 10 的暗色主题
  14. Log Parser 2.2 + Log Parser Lizard GUI 分析IIS日志示例
  15. win 10简繁体切换快捷键
  16. SoundPool播放系统提示音
  17. 通过微博怎么查到IP地址或手机,找到用户具体信息!
  18. spark安装-3台虚拟机
  19. PMP第6章知识点回顾,练习题
  20. 数字电子与微型计算机原理课后答案,数字电子与微型计算机原理(非电类)

热门文章

  1. linux内核串口接入pps,Linux串口(serial、uart)驱动程序设计
  2. 独上高楼,望断天涯处
  3. Django学习记录之——choices参数
  4. 内置机械键盘游戏本,你要选iFunk S
  5. 【MySQL】左连接右连接内连接与Hash连接、子查询原理与实战(MySQL专栏启动)
  6. c语言之if语句商品优惠
  7. 大学计算机实验报告示例,实验报告范例(学生).doc
  8. Safari12通过扩展构建器自动化安装非Apple Store扩展ublock origin
  9. mysql 5.7日志配置文件_mysql5.7配置文件解析
  10. 人工智能原理复习 | 产生式系统