1.map

有返回值,返回一个新的数组,每个元素为调用func的结果。
let list = [1, 2, 3, 4, 5];
let other = list.map((d, i) => {
return d * 2;
});
console.log(other);
// print: [2, 4, 6, 8, 10]
2.filter
有返回值,返回一个符合func条件的元素数组
let list = [1, 2, 3, 4, 5];
let other = list.filter((d, i) => {
return d % 2;
});
console.log(other);
// print: [1, 3, 5]
3.some
对数组中的每一个元素进行遍历,遇到return true退出循环
var list=[1,2,3,4,5,6]
var sum = 0;
list.some(obj->{
sum = sum + obj;
if(obj === 5)
return true
})
console.log(sum);
//sum == 10
返回一个boolean,判断是否有元素符合func条件,如果有一个元素符合func条件,则循环会终止。
let list = [1, 2, 3, 4, 5];
list.some((d, i) => {
console.log(d, i);
return d > 3;
});
// print: 1,0 2,1 3,2 4,3
// return false
4.every
对数组中的每一个元素进行遍历,遇到return false退出循环
var list=[1,2,3,4,5,6]
var sum = 0;
list.euery(obj->{
sum = sum + obj;
if(obj === 5)
return false
})
console.log(sum);
//sum == 10
返回一个boolean,判断每个元素是否符合func条件,有一个元素不满足func条件,则循环终止,返回false。
let list = [1, 2, 3, 4, 5];
list.every((d, i) => {
console.log(d, i);
return d < 3;
});
// print: 1,0 2,1 3,2
// return false
5.forEach
对数组中的每一个元素进行遍历,直到循环完成
var list=[1,2,3,4,5,6]
var sum = 0;
list.some(obj->{
sum = sum + obj;
if(obj === 3)
return true
if(obj === 4)
return false
if(obj === 5)
return
})
console.log(sum);
//sum == 21
没有返回值,只针对每个元素调用func。
优点:代码简介。
缺点:无法使用break,return等终止循环。
let list = [1, 2, 3, 4, 5];
let other = [];
list.forEach((d, i) => {
other.push(d * 2);
});
console.log(other);
// print: [2, 4, 6, 8, 10]
6.for in
for-in循环实际是为循环”enumerable“对象而设计的,for in也可以循环数组,但是不推荐这样使用,for–in是用来循环带有字符串key的对象的方法。
缺点:只能获得对象的键名,不能直接获取键值。
var obj = {a:1, b:2, c:3};
for (var prop in obj) {
console.log("obj." + prop + " = " + obj[prop]);
}
// print: "obj.a = 1" "obj.b = 2" "obj.c = 3"
7.for of
for of为ES6提供,具有iterator接口,就可以用for of循环遍历它的成员。也就是说,for of循环内部调用的是数据结构的Symbol.iterator方法。
for of循环可以使用的范围包括数组、Set和Map结构、某些类似数组的对象(比如arguments对象、DOM NodeList对象)、后文的Generator对象,以及字符串。
有些数据结构是在现有数据结构的基础上,计算生成的。比如,ES6的数组、Set、Map都部署了以下三个方法,调用后都返回遍历器对象。
entries
entries() 返回一个遍历器对象,用来遍历[键名, 键值]组成的数组。对于数组,键名就是索引值;对于Set,键名与键值相同。Map结构的iterator接口,默认就是调用entries方法。
keys
keys() 返回一个遍历器对象,用来遍历所有的键名。
values
values() 返回一个遍历器对象,用来遍历所有的键值。
这三个方法调用后生成的遍历器对象,所遍历的都是计算生成的数据结构。
// 字符串
let str = "hello";
for (let s of str) {
console.log(s); // h e l l o
}
// 遍历数组
let list = [1, 2, 3, 4, 5];
for (let e of list) {
console.log(e);
}
// print: 1 2 3 4 5
// 遍历对象
obj = {a:1, b:2, c:3};
for (let key of Object.keys(obj)) {
console.log(key, obj[key]);
}
// print: a 1 b 2 c 3
说明:对于普通的对象,for...in循环可以遍历键名,for...of循环会报错。
一种解决方法是,使用Object.keys方法将对象的键名生成一个数组,然后遍历这个数组。
// entries
let arr = ['a', 'b', 'c'];
for (let pair of arr.entries()) {
console.log(pair);
}
// [0, 'a']
// [1, 'b']
// [2, 'c']
以上所述是小编给大家介绍的浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# js
# map
# filter
# some
# every
# foreach
# for
# in
# of
# JS中的常见数组遍历案例详解(forEach
# map
# filter
# sort
# reduce
# every)
# JS中some和every的区别和用法详解
# 简述JS中forEach()、map()、every()、some()和filter()的用法
# JS数组方法some、every和find的使用详情
# JS中的every()对空数组总返回true原理分析
# 遍历
# 数据结构
# 键名
# 键值
# 返回值
# 组中
# 小编
# 有一个
# 的是
# 都是
# 是在
# 在此
# 基础上
# 可以用
# 给大家
# 可以使用
# 报错
# 这三个
# 解决方法
# 所述
相关文章:
建站之星展会模版如何一键下载生成?
建站之星收费标准详解:套餐费用及年费价格表一览
如何自定义建站之星网站的导航菜单样式?
建站之星价格显示格式升级,你的预算足够吗?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
如何在建站之星绑定自定义域名?
如何设置并定期更换建站之星安全管理员密码?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
临沂网站制作公司有哪些,临沂第四中学官网?
如何制作算命网站,怎么注册算命网站?
如何在建站宝盒中设置产品搜索功能?
如何在Golang中使用replace替换模块_指定本地或远程路径
网站插件制作软件免费下载,网页视频怎么下到本地插件?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
Python多线程使用规范_线程安全解析【教程】
韩国服务器如何优化跨境访问实现高效连接?
青岛网站建设如何选择本地服务器?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
专业网站建设制作报价,网页设计制作要考什么证?
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
如何在阿里云ECS服务器部署织梦CMS网站?
如何在Windows虚拟主机上快速搭建网站?
如何用AWS免费套餐快速搭建高效网站?
如何选择最佳自助建站系统?快速指南解析优劣
建站之星安装失败:服务器环境不兼容?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
如何通过NAT技术实现内网高效建站?
建站之星伪静态规则如何正确配置?
大连网站设计制作招聘信息,大连投诉网站有哪些?
营销式网站制作方案,销售哪个网站招聘效果最好?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
三星网站视频制作教程下载,三星w23网页如何全屏?
如何续费美橙建站之星域名及服务?
如何在Golang中指定模块版本_使用go.mod控制版本号
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
如何快速搭建支持数据库操作的智能建站平台?
ui设计制作网站有哪些,手机UI设计网址吗?
如何在IIS中新建站点并配置端口与物理路径?
油猴 教程,油猴搜脚本为什么会网页无法显示?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
广平建站公司哪家专业可靠?如何选择?
如何在西部数码注册域名并快速搭建网站?
岳西云建站教程与模板下载_一站式快速建站系统操作指南
如何用y主机助手快速搭建网站?
如何快速搭建高效香港服务器网站?
如何用5美元大硬盘VPS安全高效搭建个人网站?
如何做静态网页,sublimetext3.0制作静态网页?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
已有域名和空间如何搭建网站?
如何注册花生壳免费域名并搭建个人网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。