indexOf()方法
indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-。
不使用indexOf时
var arr = ['apple','orange','pear'],
found = false;
for(var i= , l = arr.length; i< l; i++){
if(arr[i] === 'orange'){
found = true;
}
}
console.log("found:",found);
使用后
var arr = ['apple','orange','pear'];
console.log("found:", arr.indexOf("orange") != -); //一直找,不返回,上面讲了没找到返回-1,所以不等于-1就是说一直找,找到返回布尔值true,没找到那个数组里面的值就返回false //去除重复元素并用sort排序
var arr = ['a','c','b','d','a','b']
var arr2 = [];
for(var i = ;i<arr.length;i++){
if(arr2.indexOf(arr[i])==-){
arr2.push(arr[i]);
}
}
arr2.sort();
console.log(arr2);//["a", "b", "c", "d"]
filter筛选
没有使用filter筛选的循环数组的写法
var arr = [
{"name":"apple", "count": 2},
{"name":"orange", "count": 5},
{"name":"pear", "count": 3},
{"name":"orange", "count": 16}
];
var newarr = [];
for(i=0,l=arr.length;i<l;i++){
if(arr[i].name==='pear'){
newarr.push(arr[i]);
}
}
console.log(newarr)
使用filter后的写法
var arr = [
{"name":"apple", "count": 2},
{"name":"orange", "count": 5},
{"name":"pear", "count": 3},
{"name":"orange", "count": 16}
]; var newArr = arr.filter(function(item){ //传入参数进行筛选,有就输出这组数据
return item.name === "pear";
});
console.log("Filter results:",newArr);
使用vue 中在 template 模板中使用方式 {{ (item.score === null || group.teams.filter(v => v.score === ).length === group.teams.length) ? '-' : item.score }}
forEach遍历与map遍历
不使用forEach便利的传统for写法
var arr = [1,2,3,4,5,6,7,8];
for(var i= 0, l = arr.length; i< l; i++){
console.log(arr[i]);
} 使用forEach便利
arr.forEach(function(item,index){ //forEach是用来替换for循环的
console.log(item);
}); // 这个不能像 map 一样 赋值 返回 例如 这样 直接报 undefined map 可以这么用
let newArr = arr.forEach(function(item,index){ //forEach是用来替换for循环的
return item
});
console.log(newArr)
var a = [1, 2, 3]; a.map(function (elemt) {
console.log(elemt); //结果 1 2 3
}); 注意:forEach、map等函数只能便利数组的形式 如果里面是 json 键值对的形式存在 你可 先声明一个 Arr 数组对象
例如 let arr = [] 然后再把 获取到的 json 数据 push 进去 就可以正常的遍历了
最后多说一嘴 可用for of 替代 传统的forEach循环
js中三个对数组操作的函数 indexOf()方法 filter筛选 forEach遍历 map遍历的更多相关文章
-
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
ES5中,一共有9个Array方法 Array.prototype.indexOf Array.prototype.lastIndexOf Array.prototype.every Array.pr ...
- 数组Array方法: indexOf、filter、forEach、map、reduce使用实例
-
Node.js 中MongoDB的基本接口操作
Node.js 中MongoDB的基本接口操作 连接数据库 安装mongodb模块 导入mongodb模块 调用connect方法 文档的增删改查操作 插入文档 方法: db.collection(& ...
-
【转】千万不要在JS中使用连等赋值操作
原文链接 千万不要在JS中使用连等赋值操作 目录 前言 赋值顺序? 连续赋值能拆开写么? 后记 前言 文章标题这句话原本是在国外某JavaScript规范里看到的,当时并没有引起足够的重视,直到最 ...
-
js中三种定义变量 const, var, let 的区别
js中三种定义变量的方式const, var, let的区别 1.const定义的变量不可以修改,而且必须初始化. 1 const b = 2;//正确 2 // const b;//错误,必须初始化 ...
-
(转载)js数组中的find、filter、forEach、map四个方法的详解和应用实例
数组中的find.filter.forEach.map四个语法很相近,为了方便记忆,真正的掌握它们的用法,所以就把它们总结在一起喽. find():返回通过测试的数组的第一个元素的值 在第一次调用 c ...
-
Java数组操作的10大方法
转载自码农网 译文链接:http://www.codeceo.com/article/10-java-array-method.html 英文原文:Top 10 Methods for Java Ar ...
-
应该用forEach改变数组的值吗? 原生JS forEach()和map()遍历的异同点
应该用forEach改变数组的值吗? https://segmentfault.com/q/1010000013170900?utm_source=index-hottest 由于js中的数组是引用类 ...
-
vue.js 中使用(...)运算符报错的解决方法
vue.js 中使用(...)运算符报错的解决方法 Syntax Error:Unexpected token(XX:X) }, computed:{ ...mapGetters([ 'pageSiz ...
随机推荐
-
nova help network-create
chen@controller:~$ nova help network-create usage: nova network-create [--fixed-range-v4 <x.x.x.x ...
-
ASP.NET状态管理之四(暂存状态HttpContext.Items)
ASP.NET提供一个类System.Web.HttpContext ,用来表示上下文,此对象有一个属性Items 暂存状态就是利用HttpContext.Items属性来存放数据 MSDN中Http ...
-
loadrunner提高篇-场景设计实践
集合点设置 一.为什么要进行集合点设置? 因为在测试过程中,并不能保证所有的Vuser都在同一时刻进行操作,这样就达不到并发测试的目的,故需要用到集合点技术,集合点的意思是如果在一个操作之前设置了一个 ...
-
unittest自动化使用HTMLTestRunner的中文编码问题
1.使用unittest自动化测试框架,使用HTMLTestRunner生成测试报告,中文乱码问题! 如图 2.解决方法: 第一步:先在自己的测试脚本中添加 import sys reload(sys ...
-
深入理解 JavaScript 执行上下文和执行栈
前言 如果你是一名 JavaScript 开发者,或者想要成为一名 JavaScript 开发者,那么你必须知道 JavaScript 程序内部的执行机制.执行上下文和执行栈是 JavaScript ...
-
JavaScript简单了解
一.JavaScript 的诞生历史 在最初的时候 JS 主要解决的问题是一些服务器端语言(perl)对数据的 验证功能,在js 出现之前要对表单的数据进行验证需要将数据提交到服务器 端之后才能验证数 ...
-
webpack配置css相关loader注意先后顺序
一.问题描述 在webpack3中,引入animate.css失败. 二.问题分析 1.难道是入口main.js引用方式不对? import animate from 'animate.css' 2. ...
-
撰写一篇博客要求讲述四则运算2的设计思想,源程序代码、运行结果截图、编程总结分析,并按照PSP0级的要求记录开发过程中的时间记录日志。
一.撰写一篇博客要求讲述四则运算2的设计思想,源程序代码.运行结果截图.编程总结分析,并按照PSP0级的要求记录开发过程中的时间记录日志. 1.设计思想: ①创建test.jsp建立第一个前端界面,提 ...
-
Alpha版阶段项目总结
一,设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 针对铁道大学大学生,增加他们的社交范围.我们的软件定义很清楚.对典型用户和典型场景有清晰的描述 ...
-
Densely Connected Convolutional Networks 论文阅读
毕设终于告一段落,传统方法的视觉做得我整个人都很奔溃,终于结束,可以看些搁置很久的一些论文了,嘤嘤嘤 Densely Connected Convolutional Networks 其实很早就出来了 ...