电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

JS數組及對象遍歷方法代碼匯總

瀏覽:115日期:2024-05-04 09:10:42

文中的范例基于以下數組和對象。

var arrTmp = ['value1','value2','value3'];var objTmp = { aa:'value1', bb:'value2', cc:function(){ console.log('value3') }}

一、JS原生方法

1. javascript遍歷的常用的遍歷方法是for循環和for-in,ES5的時候加上了forEach方法(IE9以下不支持)。

/****js原生遍歷****///for循環遍歷數組for(var i=0;i<arrTmp.length;i++){ console.log(i+': '+arrTmp[i])} //for-in遍歷對象屬性,i指代屬性名for(var i in objTmp){ console.log(i+': '+objTmp[i])} //forEach遍歷數組,三個參數依次是數組元素、索引、數組本身arrTmp.forEach(function(value,index,array){ console.log(value+','+index+','+array[index])})

2. for-in循環是為了遍歷對象而設計的,事實上for-in也能用來遍歷數組,但定義的索引i是字符串類型的。如果數組具有一個可枚舉的方法,也會被for-in遍歷到,例如:

//for-in遍歷數組for(var i in arrTmp){ console.log(i+': '+arrTmp[i])}//for-in會遍歷到數組的屬性arrTmp.name='myTest';for(var i in arrTmp){ console.log(i+':'+arrTmp[i])}//輸出 0:value1 1:value2 2:value3 name:myTest

3. for循環和for-in能正確響應break、continue和return語句,但forEach不行。

//只會輸出value1 value2for(var i=0;i<arrTmp.length;i++){ console.log(i+': '+arrTmp[i]); if(i==1){ break; }}//會輸出value1 value2 value3arrTmp.forEach(function(value){ console.log(value+); if(value==1){ return; }})

4. ES6中,新增了for-of遍歷方法。它被設計用來遍歷各種類數組集合,例如DOM NodeList對象、Map和Set對象,甚至字符串也行。官方的說法是:

for...of語句在可迭代對象(包括 Array, Map, Set, String, TypedArray,arguments 對象等等)上創建一個迭代循環,對每個不同屬性的屬性值,調用一個自定義的有執行語句的迭代掛鉤

// for-of遍歷數組,不帶索引,i即為數組元素for(let i of arrTmp){ console.log(i)}//輸出 'value1' 'value2' 'value3' // for-of遍歷Map對象let iterable = new Map([['a', 1], ['b', 2], ['c', 3]]);for (let [key, value] of iterable) { console.log(value);}//輸出 1 2 3 // for-of遍歷字符串let iterable = 'china中國';for (let value of iterable) { console.log(value);}//輸出 'c' 'h' 'i' 'n' 'a' '中' '國'

5. 上面的方法,注重點都是數組的元素或者對象的屬性值。如果單純的想獲取對象的屬性名,js有原生的Object.keys()方法(低版本IE不兼容),返回一個由對象的可枚舉屬性名組成的數組:

/****Object.keys()返回鍵名數組****///數組類型let arr = ['a', 'b', 'c'];console.log(Object.keys(arr));// (3) [’0’, ’1’, ’2’] // 類數組對象let anObj = { 100: ’a’, 2: ’b’, 7: ’c’ };console.log(Object.keys(anObj));// (3) [’2’, ’7’, ’100’] //一般對象let xyz = {z: 'zzz', x: 'xxx', y: 'yyy'};console.log(Object.keys(xyz));// (3) ['z', 'x', 'y']

javascript原生遍歷方法的建議用法:

用for循環遍歷數組 用for-in遍歷對象 用for-of遍歷類數組對象(ES6) 用Object.keys()獲取對象屬性名的集合

二、jQuery的$.each

jQuery的遍歷方法通常被用來遍歷DOM元素,用于數組和對象的是$.each()方法,它接受兩個參數,分別指代屬性名/數組索引和屬性值/數組元素:

/****$.each()遍歷對象和數組****/$.each(arrTmp,function(index,value){ console.log(index+': '+value)}); $.each(objTmp,function(key,value){ console.log(key+': '+value)});

三、underscore的_.each()遍歷

underscore.js是一個較流行的插件庫,它封住了一些對數組和對象的處理方法。_.each()就用來遍歷:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title> <script type='text/javascript' src='http://www.hdgsjgj.cn/lib/underscore.js'></script></head><body><script type='text/javascript'> var arrTmp = ['value1', 'value2', 'value3'];var objTmp = { aa: 'value1', bb: 'value2', cc: function () { console.log('value3') }}; //_.each()接受三個參數,分別指代鍵值、鍵名和被遍歷的對象本身_.each(arrTmp,function(value,index,array){ console.log(index +','+ value +','+ array[index])})_.each(objTmp,function(value,key,obj){ console.log(key +','+ value +','+ obj[key])})</script></body></html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 书法培训-高考书法艺考培训班-山东艺霖书法培训凭实力挺进央美 | 广州网站建设_小程序开发_番禺网站建设_佛山网站建设_粤联网络 | 厂房出售_厂房仓库出租_写字楼招租_土地出售-中苣招商网-中苣招商网 | 北京办公室装修,办公室设计,写字楼装修-北京金视觉装饰工程公司 北京成考网-北京成人高考网 | 有福网(yofus.com)洗照片冲印,毕业聚会纪念册相册制作个性DIY平台 | 金蝶帐无忧|云代账软件|智能财税软件|会计代账公司专用软件 | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | 杭州双螺杆挤出机-百科 | 食药成分检测_调料配方还原_洗涤剂化学成分分析_饲料_百检信息科技有限公司 | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | LNG鹤管_内浮盘价格,上装鹤管,装车撬厂家-连云港赛威特机械 | Copeland/谷轮压缩机,谷轮半封闭压缩机,谷轮涡旋压缩机,型号规格,技术参数,尺寸图片,价格经销商 CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 特种阀门-调节阀门-高温熔盐阀-镍合金截止阀-钛阀门-高温阀门-高性能蝶阀-蒙乃尔合金阀门-福建捷斯特阀门制造有限公司 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 制氮设备-变压吸附制氮设备-制氧设备-杭州聚贤气体设备制造有限公司 | 保定市泰宏机械制造厂-河北铸件厂-铸造厂-铸件加工-河北大件加工 | 玉米深加工设备|玉米加工机械|玉米加工设备|玉米深加工机械-河南成立粮油机械有限公司 | 加热制冷恒温循环器-加热制冷循环油浴-杭州庚雨仪器有限公司 | 密集架-手摇-智能-移动-价格_内蒙古档案密集架生产厂家 | 游动电流仪-流通式浊度分析仪-杰普仪器(上海)有限公司 | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 东莞画册设计_logo/vi设计_品牌包装设计 - 华略品牌设计公司 | 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 国际金融网_每日财经新资讯网 | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 | 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 | 德国EA可编程直流电源_电子负载,中国台湾固纬直流电源_交流电源-苏州展文电子科技有限公司 | 顺辉瓷砖-大国品牌-中国顺辉| 物流之家新闻网-最新物流新闻|物流资讯|物流政策|物流网-匡匡奈斯物流科技 | 净气型药品柜-试剂柜-无管道净气型通风柜-苏州毕恩思 | 温室大棚建设|水肥一体化|物联网系统 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 工业风机_环保空调_冷风机_工厂车间厂房通风降温设备旺成服务平台 | 专注氟塑料泵_衬氟泵_磁力泵_卧龙泵阀_化工泵专业品牌 - 梭川泵阀 | TPE塑胶原料-PPA|杜邦pom工程塑料、PPSU|PCTG材料、PC/PBT价格-悦诚塑胶 | 天津中都白癜风医院_天津白癜风医院_天津治疗白癜风 | 合肥花魁情感婚姻咨询中心_挽回爱情_修复婚姻_恋爱指南 | 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 |