ES5新增数组的方法

ES5新增数组常见方法(indexOf/forEach/map/filter/some/every)

  • .indexOf( data , start)
      检测数组中是否存在指定数据,存在返回索引,不存在返回-1,start表示从第几位开始查询。
demo:
var arr = ["a","45",67,true,"hello",67,45,25,13,89]; console.log(arr.indexOf(67)); // 2
console.log(arr.indexOf("world")); // -1
console.log(arr.indexOf("a")); // 0
console.log(arr.indexOf(67,3)); // 5
console.log(arr.indexOf(67,6)); // -1
  • .forEach( function(val,idx,self){ } ); 循环,遍历数组
      数组的专属遍历方法,1个参数:回调函数,在回调函数身上又有三个参数
var f = arr.forEach(function(val,idx,self){
// console.log(val);
// console.log(idx);
})
console.log(f); // undefined
  • .map( function(val,idx,self){ } );
      不是专门用来遍历的,但是可以实现遍历,格式同forEach
      map的主要功能:可以用来获取数组中的数据,操作,并返回成新数组;原数组不变
demo:
"函数中的三个参数分别代表,该项的值,该项下标,数组本身"
var m = arr.map(function(val,idx,self){
console.log(val,idx,self)
return val + "ly";
})
console.log(arr); // Array(10) [ "a", "45", 67, true, "hello", 67, 45, 25, 13, 89 ]
console.log(m); // Array(10) [ "aly", "45ly", "67ly", "truely", "helloly", "67ly", "45ly", "25ly", "13ly", "89ly" ]
  • .filter( function(val,idx,self){ } )
      不是专门用来遍历的,但是可以实现遍历,格式同forEach
      主要功能:过滤,回调函数每次返回值为true时,会将这个遍历到的值放在新的数组中,在filter结束后,返回这个数组;如果为false,跳过;原数组保持不变
demo:
  var f = arr.filter(function(val,idx,self){
  console.log(val,idx,self)
  return typeof val === "string";
  })
  console.log(f); // Array(3) [ "a", "45", "hello" ]
  • .some( function(val,idx,self){ } ) (课外补充)
      some意指“某些”,指是否“某些项”合乎条件。与下面的every算是好基友
      some存在一个值让callback返回true就可以了
demo1:
// 效果是我们判定这个数组是否有一个负数 使用.some
var arr = [1,58,125,-12,458,12];
var Boon = arr.some(function(e,i,arr){
return e < 0;
})
console.log(Boon) // ture var scores = [5, 8, 3, 10];
var current = 7; demo2:
function fn(score) {
return score > current;
} if (scores.some(fn)) {
console.log("通过了!"); // "通过了!
}
  • .every( function(val,idx,self){ } )
      所有函数的每个回调函数返回true的时候才会返回true,遇到一个false的时候终止执行,返回false
demo1:
// 效果是我们判定这个数组全是正数 使用.every
var arr = [1,58,125,-12,458,12];
var Boon = arr.every(function(e,i,arr){
return e > 0;
})
console.log(Boon) //false demo2:
var scores = [5, 8, 3, 10];
var current = 7;
function fn(score) {
return score > current;
}
if (scores.every(fn)) {
console.log("通过了!");
}else{
console.log("没通过"); // "没通过"
}

ES5新增数组的方法的更多相关文章

  1. 4日6日--ES5新增数组方法

    forEach使用的函数调用,所以占内存比较大,不如定长for循环和迭代for循环 1.通过forEach将数组中的元素逐个表示出来(遍历方法,读取操作). 2.通过map将原数组中的元素进行算数运算 ...

  2. js数组定义和方法 (包含ES5新增数组方法)

    数组Array 1. 数组定义 一系列数据的集合成为数组.数组的元素可以为任何类型的数据(包括数组,函数等),每个元素之间用逗号隔开,数组格式:[1,2,3]. 2. 数组创建方式 (1) 字面量方法 ...

  3. ES5新增数组方法测试和字符串常见API测试

    首先是ES5新增数组方法测试: <!DOCTYPE html><html lang="en"><head> <meta charset=& ...

  4. ES5新增数组方法every()、some()、filter()、map()

    JavaScript ES5标准中新增了一些Array方法,如every().some().filter().map().它们的出现使我们能够更加便利地操作数组,但对IE9以下浏览器的兼容性比较差.下 ...

  5. ES5新增数组的一些方法

    1.Array.indexof(value1,value2) Tip:用于返回某个数组或字符串中规定字符或者字符串的位置. (1)当Array.indexof(value1);里面只有一个值的时候,表 ...

  6. ES5新增数组方法(4):every

    检查数组元素的每个元素是否符合条件. // 数组中的元素全部满足指定条件返回true let arr = [1, 3, 5, 7, 9]; console.log(arr.every((value, ...

  7. ES5新增数组方法(3):some

    检查数组元素中是否有元素符合指定. // 数组中的元素部分满足指定条件返回true let arr = [1, 3, 5, 7, 9]; console.log(arr.some((value, in ...

  8. ES5新增数组方法(2):map

    通过指定函数处理数组的每个元素,并返回处理后的数组. 1.计算数组中每个元素的平方 let arr = [1, 2, 3, 4, 5, 6]; let newArr = arr.map(item =& ...

  9. ES5新增数组方法(1):filter

    检测数组元素,并返回符合条件所有元素的数组. 1.过滤数组中不符合条件的元素 let arr = [1, 2, 3, 4, 5, 6]; // 方式一 let newArr = arr.filter( ...

随机推荐

  1. [LeetCode]33. 搜索旋转排序数组(二分)

    题目 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). 搜索一个给定的目标值,如果数组中存在这个目 ...

  2. 归并排序求逆序对(poj 2299)

    归并排序求逆序对 题目大意 给你多个序列,让你求出每个序列中逆序对的数量. 输入:每组数据以一个数 n 开头,以下n行,每行一个数字,代表这个序列: 输出:对于输出对应该组数据的逆序对的数量: 顺便在 ...

  3. Mysql数据分片技术(一)——初识表分区

    1. 为什么需要数据分片技术 2. 3种数据分片方式简述 3. 分片技术原理概述 4. 对单表分区的时机 1为什么需要数据分片技术 数据库产品的市场 在互联网行业内,绝大部分开发人员都会遇到数据表的性 ...

  4. k8s滚动更新(六)

    实践 滚动更新是一次只更新一小部分副本,成功后,再更新更多的副本,最终完成所有副本的更新.滚动更新的最大的好处是零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性. 下面我们部署三副本应用, ...

  5. redis.conf讲解

    转自https://www.cnblogs.com/zhang-ke/p/5981108.html #redis.conf # Redis configuration file example. # ...

  6. C++万能头文件的秘密

    #include<bits/stdc++.h> 万能头文件,拼写怎么这么奇怪? 其实,bits表示一个文件夹,stdc++.h是里面的头文件,这表示路径. 搜索这个文件夹,找到后打开. 打 ...

  7. Shareplex搭建步骤(rman)

    实施例:rman/BCV 环境准备 splex软件上传 源端: #mkdir /quest #chmod -R 755 /quest #chown -R oracle:oinstall /quest ...

  8. Redis—HyperLogLog

    HyperLogLog 实现一个功能 统计网站的UV (user view),区别PV (page view) 数据去重 统计总数 同一个用户的反复点击进入记为 1 次 解决方案 最简单的思路是记录集 ...

  9. hw小技巧(转载)

    小弟也第一次参加hw,经过5天hw,确实也学到了许多的东西,但就本次分享而言,我分享一些我认为在hw里面值得注意的东西以及一些小技巧 0x01 信息收集 信息收集这个多西当然都是老生常谈了,你收集的东 ...

  10. 20行代码实现,使用Tarjan算法求解强连通分量

    今天是算法数据结构专题的第36篇文章,我们一起来继续聊聊强连通分量分解的算法. 在上一篇文章当中我们分享了强连通分量分解的一个经典算法Kosaraju算法,它的核心原理是通过将图翻转,以及两次递归来实 ...