关于for、foreach、filter等的一些用法
通常我们使用得最熟悉的是for循环。
比如对于一组数字的排大小,可以使用冒泡法。
var a=[];
for(var d=0;d<5;d++){
var b=window.prompt("请输入数字:");
a[d]=parseInt(b);
}
for(var n=0;n<a.length;n++){
for(var i=0;i<a.length-n;i++){
if(a[i]>a[i+1]){
var temp=a[i+1];
a[i+1]=a[i];
a[i]=temp;
}
}
}
document.write(a);
目前js的新特性,foreach,遍历每一个元素,为我们提供了方便。
foreach一般用于循环数组,for in一般用于循环对象。
foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
下面,看一个例子,利用foreach来遍历每一个元素,使其乘以10.
var a=[9,8,7,10,5,4,3];
var b=[];
a.forEach(function(value,i){
b[i]=a[i]*10;
});
console.log(a);
console.log(b);
上面提到for...in,一般用于遍历对象,可以看下一下例子:
var obj={
name:"张飞",
age:20,
gender:"男"
};
console.log(obj);
for(var k in obj){
console.log([k,obj[k]]);
}
关于数组,有一个map方法,不仅可以循环函数,还可以作为回调函数,将值返回到新的数组中。
var a=[9,8,7,10,5,12,3];
var myAry= a.map(function(value){
return value*10; //如果不写return,新数组会有原来数组的长度,但是里面的值为undefined
if(value>10){
return value*10;
}else{ //需要写else,不然小于10 的都为undefined
return value;
}
});
console.log(myAry);
filter ,过滤数组,符合条件的进行返回,与map的区别在于不符合的不return,也不会出现undefined。
var myAry1= a.filter(function(value){
if(value>10){
return value;
}
});
console.log(myAry1);
关于for、foreach、filter等的一些用法的更多相关文章
- JS中的 map, filter, some, every, forEach, for in, for of 用法总结和区别
JS中的 map, filter, some, every, forEach, for in, for of 用法总结和区别 :https://blog.csdn.net/hyupeng1006/a ...
- python中filter,reduce,map的用法
filter的用法: 操作表list的内嵌函数'filter' 需要一个函数与一个list它用这个函数来决定哪个项应该被放入过滤结果队列中遍历list中的每一个值,输入到这个函数中如果这个函数返回Tr ...
- MyBatis从入门到精通(第4章):MyBatis动态SQL【foreach、bind、OGNL用法】
(第4章):MyBatis动态SQL[foreach.bind.OGNL用法] 4.4 foreach 用法 SQL 语句中有时会使用 IN 关键字,例如 id in (1,2,3).可以使用 ${i ...
- JS中的 map, filter, some, every, forEach, for...in, for...of 用法总结
1.map 有返回值,返回一个新的数组,每个元素为调用func的结果. let list = [1, 2, 3, 4, 5]; let other = list.map((d, i) => { ...
- [转载]JS中 map, filter, some, every, forEach, for in, for of 用法总结
转载地址:http://codebay.cn/post/2110.html 1.map 有返回值,返回一个新的数组,每个元素为调用func的结果. let list = [1, 2, 3, 4, 5] ...
- javascript map forEach filter some every在购物车中的实战演练区分用法
1.map forEach 1.map 循环遍历每一项,返回一个新的数组 例: 购物车商品小计: //购物车 var cart=[ {"id":101,"name&quo ...
- JS中 map, filter, some, every, forEach, for in, for of 用法总结
本文转载自:http://blog.csdn.net/gis_swb/article/details/52297343 1.map 有返回值,返回一个新的数组,每个元素为调用func的结果. let ...
- javaScript 的 map() reduce() foreach() filter()
map(映射), reduce(规约), forEach(遍历), filter(过滤),它们都是高阶函数,都是以传入不同的函数来以不同的方式操作数组元.ie都不支持 一.map方法 *概述 map( ...
- js数组遍历(for in ,for of ,map,foreach,filter)的区别
一.for in 和for of 的区别 1.for in 遍历数组时,索引实际上是字符串类型的数字,不能进行运算,我们来输出一下: let arr = [1,3,5,4] for (let inde ...
随机推荐
- 动态加载JS脚本
建立dynamic.js文件,表示动态加载的js文件,里面的内容为: function dynamicJS() { alert("加载完毕"); } 如下方法中的html页面和dy ...
- 使用Crowd2.7集成Confluence5.3与JIRA6.1,并安装、破解及汉化,实现单点登录【原创】
鉴于目前没有针对Crowd.Confluence.Jira安装.集成和破解最新的方法,总结今天安装.破解及集成的经验,编写此文,方便大家进行配置也方便自己以后参考.此文参考多篇破解文章,并经过作者 ...
- codeforces problem 140E New Year Garland
排列组合题 题意 用m种颜色的彩球装点n层的圣诞树.圣诞树的第i层恰由l[i]个彩球串成一行,且同一层内的相邻彩球颜色不同,同时相邻两层所使用彩球的颜色集合不同.求有多少种装点方案,答案对p取模. 只 ...
- Tomcat配置错误导致Quartz执行两次问题
以下基于tomcat服务器 我们通常将域名映射到指定服务器的端口上,以通过域名直接访问服务,如http://www.abc.com域名已绑定到本机的80端口,项目名wechat,则直接访问http:/ ...
- 设置Windows 7 防火墙端口规则
http://jingyan.baidu.com/article/c843ea0b7d5c7177931e4ab1.html?qq-pf-to=pcqq.c2c 主要解决手机访问pc站点的问题(pc和 ...
- jQuery原生框架-----------------事件
jQuery.extend({ // 绑定事件 addEvent: function( ele, type, fn ) { // ele不是DOM,type不是字符串,fn不是函数,打包打走 if( ...
- ubuntu安装谷歌输入法
1,sudo apt-get install fcitx-googlepinyin 2,在settings->Language Support里将keyboard input method sy ...
- 可拖拽的ListView
今天研究了一下可拖拽的ListView ,当ListView的数据不能充满整个模拟器的时候,系统自带的listview上拖下拽都不好使,显得很单调, 为了实现上拖下拽时也能实现滚动的效果,这时候就需要 ...
- Request.ServerVariables 获取服务器或者客户端信息
本机ip[客户端]:request.servervariables("remote_addr") 从哪个页面转到当前页面的:Request.ServerVariables(&quo ...
- 设置Ubuntu为本地时间
大家在切换操作系统的时候会发现一个问题, Windows 和 Ubuntu 的时间会出现不一致的情况.在 Windows 中把时间设置正确了过后,回到在 Ubuntu 后系统的时间又不一样了,在 Ub ...