ES5新增数组的方法
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新增数组的方法的更多相关文章
- 4日6日--ES5新增数组方法
forEach使用的函数调用,所以占内存比较大,不如定长for循环和迭代for循环 1.通过forEach将数组中的元素逐个表示出来(遍历方法,读取操作). 2.通过map将原数组中的元素进行算数运算 ...
- js数组定义和方法 (包含ES5新增数组方法)
数组Array 1. 数组定义 一系列数据的集合成为数组.数组的元素可以为任何类型的数据(包括数组,函数等),每个元素之间用逗号隔开,数组格式:[1,2,3]. 2. 数组创建方式 (1) 字面量方法 ...
- ES5新增数组方法测试和字符串常见API测试
首先是ES5新增数组方法测试: <!DOCTYPE html><html lang="en"><head> <meta charset=& ...
- ES5新增数组方法every()、some()、filter()、map()
JavaScript ES5标准中新增了一些Array方法,如every().some().filter().map().它们的出现使我们能够更加便利地操作数组,但对IE9以下浏览器的兼容性比较差.下 ...
- ES5新增数组的一些方法
1.Array.indexof(value1,value2) Tip:用于返回某个数组或字符串中规定字符或者字符串的位置. (1)当Array.indexof(value1);里面只有一个值的时候,表 ...
- ES5新增数组方法(4):every
检查数组元素的每个元素是否符合条件. // 数组中的元素全部满足指定条件返回true let arr = [1, 3, 5, 7, 9]; console.log(arr.every((value, ...
- ES5新增数组方法(3):some
检查数组元素中是否有元素符合指定. // 数组中的元素部分满足指定条件返回true let arr = [1, 3, 5, 7, 9]; console.log(arr.some((value, in ...
- ES5新增数组方法(2):map
通过指定函数处理数组的每个元素,并返回处理后的数组. 1.计算数组中每个元素的平方 let arr = [1, 2, 3, 4, 5, 6]; let newArr = arr.map(item =& ...
- ES5新增数组方法(1):filter
检测数组元素,并返回符合条件所有元素的数组. 1.过滤数组中不符合条件的元素 let arr = [1, 2, 3, 4, 5, 6]; // 方式一 let newArr = arr.filter( ...
随机推荐
- sql分页存储过程,带求和、排序
创建存储过程: CREATE PROCEDURE [dbo].[sp_TBTest_Query] ( @PageSize INT, --每页多少条记录 @PageIndex INT = 1, --指定 ...
- git个人常用命令
git https://www.cnblogs.com/chenwolong/p/GIT.html 添加当前目录的所有文件到暂存区 $ git add . 提交暂存区到仓库区 $ git commit ...
- maven使用心得
1.一个项目下创建module,需要在project的pom下加入module,这个工程的pom <?xml version="1.0" encoding="UTF ...
- ams入门了解
另一篇介绍文 https://www.cnblogs.com/clds/p/4985893.html 转载自https://www.cnblogs.com/onlysun/p/4533798.htm ...
- java Synchronized集合
在Collections存在相关"Synchronized"支持同步的集合, 在java1.0 也存在"Vector"; 为什么会选择放弃"Vecto ...
- 永远不要在代码中使用“User”这个单词
当你意识到你在项目开始时做的轻量.简单的设想竟然完全错了时,你已经用了六个月的时间投入到这个项目上.现在你需要解决这些问题,才能让这个系统继续运行下去,你发现你用在这个项目上的精力远远超出了你的预 ...
- Tensorflow图级别随机数设置-tf.set_random_seed(seed)
tf.set_random_seed(seed) 可使得所有会话中op产生的随机序列是相等可重复的. 例如: tf.set_random_seed(1234) a = tf.random_unifor ...
- 理解 JAVABEAN EJB POJO
<Spring实战>第一章:基本理念.各类名称熟语 POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混 ...
- Cookies题解
来源:<算法竞赛进阶指南> Describe: 有M块饼干要分给N个孩子.当有k个孩子分到的饼干数比第i个孩子分到的多时,会产生g[i]*k的贡献.求最小的贡献及任意一种方案. Solut ...
- 国产化之路-统信UOS操作系统安装
专题目录 国产化之路-统信UOS操作系统安装 国产化之路-国产操作系统安装.net core 3.1 sdk 国产化之路-安装WEB服务器 国产化之路-安装达梦DM8数据库 国产化之路-统信UOS + ...