ES5新增数组的一些方法
1、Array.indexof(value1,value2)
Tip:用于返回某个数组或字符串中规定字符或者字符串的位置。
(1)当Array.indexof(value1);里面只有一个值的时候,表示value1在arr数组里面的我们想要得到查找的值。
var arr = [,,,,,,"hello",];
var i = arr.indexOf();//表示13在数组中的索引
var a = arr[i];//在下面我们console.log我们可以看到这个值是否对应数组中一开始我们所想要的索引数
console.log(i)//
console.log(a)//13
(2)当Array.indexof(value1,value2);第一个值(value1)表示我们想要在数组中查找的值,第二个值(value2)表示我们
我们想要从第几个位置去查找这个值;
var arr = [,,,,,,"hello",];
var i = arr.indexOf(,);//我们是从第三个数开始在这个数组中从左到右中去找这个数。
var a = arr[i];//13
console.log(i)//4 从第三个值开始查到到的这个value1的第一个值,前三个数不会识别,直接跳过,进行查找。
console.log(a)//
(3)当Array.indexof()的括号里面不管时一个值还是两个值,若这个值不在我们的这个数组里面返回值都是-1.
var arr = [11,12,13,14,13,16,"hello",17];
var a = arr.indexOf(20);//数组中没有这个值
var i = arr.indexOf(21,2);//数组zhong
console.log(i)//-1
console.log(a)//-1
(4)用Array.indexof()方法中-1特性写一个去重案例
var arr = [1,1,2,"hello","yes","yes",2];
function Arrayeighting(arr){
var newArr = [];//定义一个新数组,一会将用于indexof -1特性判断,判断有没有某个值
for(var i = 0;i<arr.length;i++){//遍历老数组
if(newArr.indexOf(arr[i])==-1){//判断新创建的数组中有没有老数组中的这个数
newArr.push(arr[i]);//当indexof返回值为-1就没有这个数,我们就添加这个数
}
}
return newArr;//返回给函数,一个封装函数,随时都可以去调用。
}
console.log(Arrayeighting(arr))// [1, 2, "hello", "yes"]
2、Array.forEach()
Tip:循环或遍历数组
var arr = [11,12,13,14,13,16,"hello",17];
arr.forEach(function (value,index,self){
console.log(value,index,self)
})
//value表示数组里面的数值
//index表示改数值在数组中的位置(索引)
//self表示的是当前数组。(arr)
3、Array.map()
Tip:类似于forEach,会遍历所有的数组,返回当前方法返回值。map不会改变原有数组,而是将函数执行一次之后的返回值组成一个新的数组,返回出来。
demo:将原来的数组扩大1.5倍
var arr = [11,12,13,14,13,16,17];
var a = arr.map(function (val){
return val*=1.5;//不会改变原有数组,并会返回一个新的数组。
})
console.log(a)
//value表示数组里面的数值
//index表示改数值在数组中的位置(索引)
//self表示的是当前数组。(arr)
4、Array.filter ()
都同上一样,筛选数组中的所有项,当条件为tuer的时候才回返回该数据,当条件为false时返回的是一个空数组。
var arr = [11,12,13,14,13,16,17];
var a = arr.filter(function (value){
return value>14;判断的条件
})
console.log(a)//[16.17]
5、arr.every()
tip:会遍历整个数组,对数组中的每一项运行都给定一个函数,如果函数的每一项都会返回true,则返回true。当有一个函数的返回值为false,则全都返回false。
var arr = [1,2,3,4,5,6,7,8,9];
var a = arr.every(function(value,index,arr){//evevy可以传三个值
console.log("value"+":"+value)//当返回值为false,则会打印数组中第一个数value:1
return value>2;//判断的条件,这个数是否大于2?
})
console.log(a)//false
//value表示数组里面的数值
//index表示改数值在数组中的位置(索引)
//self表示的是当前数组。(arr)
var arr = [1,2,3,4,5,6,7,8,9];

var a = arr.every(function(value,index,arr){
console.log("value"+":"+value)//当返回值为true,则会打印数组中所有的数如
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新增数组的方法
ES5新增数组的方法 ES5新增数组常见方法(indexOf/forEach/map/filter/some/every) .indexOf( data , start) 检测数组中是否存在指定数据 ...
- ES5新增数组方法every()、some()、filter()、map()
JavaScript ES5标准中新增了一些Array方法,如every().some().filter().map().它们的出现使我们能够更加便利地操作数组,但对IE9以下浏览器的兼容性比较差.下 ...
- 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( ...
随机推荐
- UPC Contest RankList – 2019年第二阶段我要变强个人训练赛第十五场
传送门 A: Colorful Subsequence •题意 给一个长为n的小写字母序列,从中选出字母组成子序列 问最多能组成多少种每个字母都不相同的子序列 (不同位置的相同字母也算是不同的一种) ...
- 黑羽压测 做 API接口功能测试
做功能测试 黑羽压测 是一款性能测试工具,但是我们也可以使用它,很方便的做 API接口功能测试 . 点击下方链接,观看 讲解视频 https://www.bilibili.com/video/av60 ...
- PageHelper分页实战(SSM整合)
步骤一:引入SSM相关的jar包,包列表如下: 步骤二:创建或修改配置文件,配置文件清单如下: applicationContext.xml <?xml version="1.0&qu ...
- vue中el-upload上传多图片且携带参数,批量而不是一张一张的解决方案
现在前端基本不是vue技术栈就是react技术栈. vue技术栈最常用的就是element-ui的ui框架了. 在项目中,我们经常会碰到这种需求:批量上传文件 element-ui 确实也为我们提供了 ...
- NPM - 检查并更新项目依赖的版本
原文地址:https://acme.top/nodejs-npm-check-updates 前言 经常会遇到 package.json 中的库有更新,但是太多一个一个的来很费事,幸好有个工具 npm ...
- Java核心技术(卷一)读书笔记——第二章(JAVA/JDK环境配置)
JDK 配置:自行百度. 存在多个JDK 版本并且需要指定某版本时,注意更改注册表JavaSoft项以及相关子项,同时删除system32目录下相关的Java可执行文件xxx.exe. IDEA打开项 ...
- Angular JS 中的服务注册方法
在Angular JS中创建服务的几种方法 factory() service() constant() value() provider() factory(name,fn(){}) 该服务为单例的 ...
- ASP.NET Core on K8S深入学习(1)K8S基础知识与集群搭建
在上一个小系列文章<ASP.NET Core on K8S学习初探>中,通过在Windows上通过Docker for Windows搭建了一个单节点的K8S环境,并初步尝试将ASP.NE ...
- Thinkphp 5.1.7 parseData缺陷导致insert/update注入 分析
目录 环境搭建 分析 参考 环境搭建 $ composer create-project topthink/think thinkphp-5.1.7 修改composer.json 5.1.* =&g ...
- 【Python-Django】浏览器同源策略
1995年,同源政策由 Netscape 公司引入浏览器.目前,所有浏览器都实行这个政策. 同源策略是浏览器的一个安全功能,不同源的客户端脚本(js文件)在没有明确授权的情况下,不能读写对方资源.只有 ...