// 普通的for循环
// var arr = ['张飞', '赵云', '马超', '刘备']
// for (var i = 0; i < arr.length; i++) {
// console.log(arr[i])
// }

// forEach方法:
// 让数组中的每个元素都执行一次function
// var arr = ['张飞', '赵云', '马超', '刘备']
// arr.forEach(function(item, index) {
// console.log(item, index)
// })

// map方法 映射
// map方法和forEach很像, 要求每个函数都返回一个结果, 得到一个新数组
// var arr = [1, 2, 3, 4]
// // 要求: 给数组的每一项都求平方 [1, 4, 9, 16]
// let newArr = arr.map(function(item, index) {
// return item * item
// })
// console.log(newArr)
// var arr = [
// { id: 1, age: 18 },
// { id: 2, age: 20 },
// { id: 3, age: 55 },
// { id: 4, age: 40 }
// ]
// // 要求:求出最大的age
// var newArr = arr.map(function(item) {
// return item.age
// })
// var max = Math.max.apply(null, newArr)
// console.log(max)

// filter方法的使用
// filter:过滤, 和map一样,也会返回新数组,保留哪些返回true的元素
// 将数组中工资超过5000的值删除
// var arr = [1000, 5000, 20000, 3000, 10000, 800, 1500]
// var newArr = arr.filter(function(item) {
// return item <= 5000 // 如果值小于等于5000 返回true
// })
// console.log(newArr)

// some: 一些
// some方法整体会返回一个布尔值, 如果有某一个函数返回了true,那么整个结果就是true
// 判断数组中是否包含奇数。。 数组中是否全是偶数
// var arr = [2, 4, 6, 8, 10, 12]
// let flag = arr.some(function(item) {
// return item % 2 === 1
// })
// console.log(flag)

// every: 每个
// every方法会返回一个布尔值, 如果所有的函数都返回true,结果才是true
// 判断数组中的元素是否全是偶数
// var arr = [2, 4, 6, 8, 10, 12]
// var flag = true // 假设全是偶数
// for (var i = 0; i < arr.length; i++) {
// if (arr[i] % 2 === 1) {
// flag = false
// break
// }
// }
// if (flag) {
// console.log('全是偶数')
// } else {
// console.log('不全是偶数')
// }
// var arr = [2, 4, 6, 8, 10, 11]
// let flag = arr.every(function(item) {
// return item % 2 === 0
// })
// console.log(flag)

// find: 查找
// 返回数组中第一个返回true的那个值
// var array = [5, 12, 8, 130, 44]
// let result = array.find(function(item) {
// return item > 10
// })
// console.log(result)

// findIndex: 返回数组中第一个返回true的那个值的下标
// var array = [5, 12, 8, 130, 44]
// let result = array.findIndex(function(item) {
// return item > 10
// })
// console.log(result)

var arr = [
{ id: 1, age: 18 },
{ id: 2, age: 20 },
{ id: 3, age: 55 },
{ id: 4, age: 40 }
]
// 需求: 把age为20的那项删除
var idx = arr.findIndex(function(item) {
return item.age === 20
})
arr.splice(idx, 1)
console.log(arr)

ES5和ES6新的操作数组的方法(常用)的更多相关文章

  1. 关于ES3、ES5、ES6以及ES7所有数组的方法(api)的总结

    起因:工作用经常用到操作数组的方法,这里进行一下总结,我尽量以简洁的语言概括每个方法(api)的作用.如果您想快速定位,可以Control+F 然后搜相应的方法即可定位 :) ES3的数组方法 joi ...

  2. 一些ES5的操作数组的方法

    在ES5规范中新增了不少操作数组的方法,特此罗列一下以备使用 1. forEach循环 有点类似jQuery的each循环 [12,23,36,4,5].forEach(function(v,k){ ...

  3. thinkphp中cookie和session中操作数组的方法

    thinkphp中cookie和session中操作数组的方法 一.ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况 在ThinkPHP的模板中操作sessio ...

  4. ES5和ES6中对于继承的实现方法

    在ES5继承的实现非常有趣的,由于没有传统面向对象类的概念,Javascript利用原型链的特性来实现继承,这其中有很多的属性指向和需要注意的地方. 原型链的特点和实现已经在之前的一篇整理说过了,就是 ...

  5. javascript中slice() splice() concat()操作数组的方法

    这三个操作数组,哪个返回一个新数组呢.上代码 splice()方法,用于插入,删除和替换. var arr=[1,2,3,4,5]; var arr1=arr.splice(1,3); console ...

  6. JavaScript中操作数组的方法

    JavaScript Array 对象 对数组操作的方法分为两种 一种是会改变原始数组的变异方法,还有一种是不会改变原始数组的非变异方法. 总结 巧记 Push() 尾部添加 pop() 尾部删除 U ...

  7. [js]es6语法: 字符串和数组的方法

    s的方法 根据index取value: 取首尾项,arr[0], arr[arr.length-1] 根据value取index(判断是否包含子字符串): s.indexOf 栗子: 'maotai' ...

  8. javascript常见操作数组的方法

    在 JavaScript 中,判断一个变量的类型尝尝会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 "obj ...

  9. php数组实现根据某个键值将相同键值合并生成新二维数组的方法

    $infos = array( array( 'a' => 36, 'b' => 'xa', 'c' => '2015-08-28 00:00:00', 'd' => '201 ...

随机推荐

  1. bzoj1951

    CRT+LUCAS+费马小定理+拓展欧拉定理 幂指数太大了怎么办?欧拉定理,n太大了怎么办?上lucas,模数太大了怎么办?上crt.然后就好了,唯一注意的是要用拓展欧拉定理,n%phi(p)+phi ...

  2. Rails 浅谈 ActiveRecord 的 N + 1 查询问题(copy)

    [说明:资料来自https://ruby-china.org/topics/32364] ORM框架的性能小坑 在使用ActiveRecord这样的ORM工具时,常会嵌套遍历model.例如,有两个m ...

  3. ubuntu12.04向左边栏添加图标(引用)

    转自:http://forum.ubuntu.com.cn/viewtopic.php?f=86&t=317442 打开想添加的软件,图标会出现在侧边栏,右击之,点Keep In Launch ...

  4. Swift4 类与继承, 类型转换, 类型判断

    创建: 2018/03/05 完成: 2018/03/07 更新: 2018/03/09 完善标题 [Swift4 类与继承, 类型转换] -> [Swift4 类与继承, 类型转换与判断] 补 ...

  5. 洛谷 P2762 太空飞行计划问题 【最大权闭合子图+最小割】

    --一道难在读入的题. 最后解决方案直接getline一行然后是把读优拆掉放进函数,虽然很丑但是过了. 然后就是裸的最大权闭合子图了,把仪器当成负权点向t连流量为其价格的边,s向实验连流量为实验报酬的 ...

  6. IDEA远程调试Tomcat程序

    如何使用 Idea 远程调试 Java 代码 IDEA远程调试的 基本就是在服务端先设置Tomcat服务器启动脚本catalina.bat,然后在客户端IDEA上进行参数配置,最后二者可以通过Sock ...

  7. 题解报告:hdu 1503 Advanced Fruits(LCS加强版)

    Problem Description The company "21st Century Fruits" has specialized in creating new sort ...

  8. selenium通过autoit实现上传和下载

    autoit安装目录如下: AutoIt Windows Info   用于帮助我们识Windows控件信息. Compile Script to.exe 用于将AutoIt生成 exe 执行文件. ...

  9. 重写java.lang.String IndexOf()方法,实现对字符串以ASCII规则截取

    /** * 根据元数据和目标ascii位数截取字符串,失败返回-1 * @param sourceStr 元数据字符串 * @param endIndex 截取到第几位 * @return 结果字符串 ...

  10. [ BZOJ 2038 ] Hose

    \(\\\) Description 给出一个数列,多次询问,每次给出一个区间 \([l_i,r_i]\) ,问在区间中随意选两个位置不同的数,是同一个数的概率有多大. \(n,m\le 5\time ...