// 普通的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. Find offset of first/last found substring

    DATA: TEXT TYPE STRING VALUE 'RO_LL_OVER BEET_HOVEN', MOFF TYPE I VALUE '-1'. FIND FIRST OCCURRENCE ...

  2. Android buffer_handle_t的定义(转载)

    转自:http://www.cnblogs.com/eustoma/archive/2012/06/08/2541416.html 1. buffer_handle_t 文件位置:system\cor ...

  3. shiro之IniRealm

    Shiro认证过程 创建SecurityManager--->主体提交认证--->SecurityManager认证--->Authenticsto认证--->Realm验证 ...

  4. Spark MLlib机器学习

    前言 Spark MLlib是Spark对常用的机器学习算法的实现库,同时包括相关的测试和数据生成器.

  5. SpringMVC之HttpMessageConverter

    http://blog.csdn.net/zmx729618/article/details/53034420 HttpMessageConverter接口: T read(Class<? ex ...

  6. 《windows核心编程系列》二十二谈谈修改导入段拦截API。

    一个模块的导入段包含一组DLL.为了让模块能够运行,这些DLL是必须的.导入段还包含一个符号表.它列出了该模块从各DLL中导入的符号.当模块调用这些导入符号的时候,系统实际上会调用转换函数,获得导入函 ...

  7. poj 3295 Tautology 伪递归

    题目链接: http://poj.org/problem?id=3295 题目描述: 给一个字符串,字符串所表示的表达式中p, q, r, s, t表示变量,取值可以为1或0.K, A, N, C, ...

  8. TCP/IP网络协议基础

    实验楼学习网络协议传送门 一.TCP/IP简介 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议和网络协议的简称,它定义了电 ...

  9. 洛谷 P3808 【模板】AC自动机(简单版)洛谷 P3796 【模板】AC自动机(加强版)

    https://www.cnblogs.com/gtarcoder/p/4820560.html 每个节点的后缀指针fail指针指向: 例如he,she,his,hers的例子(见蓝书P214): 7 ...

  10. Tian Ji -- The Horse Racing HDU - 1052

    Tian Ji -- The Horse Racing HDU - 1052 (有平局的田忌赛马,田忌赢一次得200块,输一次输掉200块,平局不得钱不输钱,要使得田忌得到最多(如果只能输就输的最少) ...