js遍历对象

JS遍历对象

江枫思渺然 提交于 2019-12-27 15:24:46
var obj = {}; obj.name = '张三'; obj.age = 19; for(var k in obj) { console.log(k,":",obj[k]); } 来源: CSDN 作者: A_Lonely_Smile 链接: https://blog.csdn.net/A_Lonely_Smile/article/details/103730621

JS数组与对象的遍历方法大全

被刻印的时光 ゝ 提交于 2019-12-22 02:24:52
本文简单解析各种数组和对象属性的遍历方法: 原生for循环、for-in及forEach ES6 for-of方法遍历类数组集合 Object.key()返回键名的集合 jQuery的$.each() underscore的_.each() 文中的范例基于以下数组和对象。 ? 1 2 3 4 5 6 7 8 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以下不支持)。 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 /****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遍历数组

对Json的各种遍历方法

雨燕双飞 提交于 2019-12-20 17:45:08
慎用for in函数(有可能由于原型链的问题导致遍历问题); 如果要是用for in 一定要使用if (obj1.hasOwnProperty(key)) {}先做判断 解决方法 :1.eval(),也不推荐     2.for of (es6) 对JSON对象的key值处理方法 Javascript代码 var json = '{"a":"1", "b":"2"}'; var data = eval( '('+ json + ')'); alert(data.a); alert(data[ 'a']); 这样两种方式都可以取到json中的值。 但是 当key的值为数字 时,只能使用类似数组下表的访问方式取值。 Javascript代码 var json = '{"0":"a", "1":"b", "length":2}'; var data = eval( '(' + json + ')'); //alert(data.0); //报错,此方式不可用 alert(data[ '0']); alert(data[0]); //注意此写法与数组用下标访问是相同的 alert(data.length) //貌似数组的长度 1.使用json时,通常都使用第一种方式,且key一般应使用合法的变量名(字母或下划线开头的包括字母、下划线和数字的字符串) 2.对象的两种访问方式:data

js中数组遍历for与for in区别(强烈建议不要使用for in遍历数组)

笑着哭i 提交于 2019-12-17 05:30:35
转自: http://www.cnblogs.com/javaee6/p/4142270.html?utm_source=tuicool&utm_medium=referral js中遍历数组的有两种方式 1 2 3 4 5 6 7 8 9 var array=[ 'a' ] //标准的for循环 for (var i= 1 ;i<array.length;i++){ alert(array[i]) } //foreach循环 for (var i in array){ alert(array[i]) } 正常情况下上面两种遍历数组的方式结果一样。首先说两者的第一个区别 标准的for循环中的i是number类型,表示的是数组的下标,但是foreach循环中的i表示的是数组的key是string类型,因为js中一切皆为对象。自己试试 alert(typeof i);这个区别是小问题。现在我加上如下代码,上面的执行结果就不一样了。 1 2 3 4 //扩展了js原生的Array Array.prototype.test=function() } 试试看上面的代码执行什么。我们发现标准的for循环任然真正的对数组循环, 但是此时foreach循环对我刚才写的test方法写打印出来了。这就是for与foreach遍历数组的最大区别,如果我们在项目采用的是用foreach遍历数组

ES6知识点1

怎甘沉沦 提交于 2019-12-14 02:31:12
1 课程介绍 1.1简介 ​ ES6 既是一个历史名词( 特指2015年发布的标准ES2015 ),也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了ES2015、ES2016、ES2017等 。 1.2环境安装 ​ Node.js是JavaScript语言的服务器运行环境,对ES6的支持度比浏览器更高。 ​ 网址: https://nodejs.org/en/ ​ 默认安装 1.2.1NPM使用 ​ 本地安装 ​ npm install 使用:require('模块名') ​ 全局安装 安装模块 npm install <模块名> -g 卸载模块 npm uninstall <模块名> 更新模块 npm update <模块名> 搜索模块 npm search <模块名> 2 声明和表达式 2.1解构赋值 ​ ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构赋值。 ​ 如果解构 不成功 ,变量的值就等于 undefined 。 ​ 如果 等号的右边不是数组(不是可遍历的结构),将会报错 。 ​ 解构赋值不仅适用于var命令,也适用于let和const命令。 ​ (1) 设置默认值 ​ 解构赋值允许指定默认值。 当等式右边没值或是undefined时,使用默认值 。 语法 let [变量=默认值]=[赋值] ​ (2)

理解ES6中的Iterator

浪尽此生 提交于 2019-12-12 00:15:20
一、为什么使用Iterator 我们知道,在ES6中新增了很多的特性,包括Map,Set等新的数据结构,算上数组和对象已经有四种数据集合了,就像数组可以使用forEach,对象可以使用for...in.. 进行遍历一样,是不是随着Map和Set的出现也应该给这两种集合一个遍历方法呢?如果这样的话js的方法对象就太多了,既然这四种集合都是需要遍历的,那么完全可以用一个统一的访问机制。于是乎Iterator应运而生。 二、Iterator是什么   Iterator是一个访问机制,同时 是一个接口 ,可以实现在不同的数据集合中,完成它的功能。    Iterator本质是一个指针对象 ,其中包含一个next方法,这个方法可以改变指针的指向,并且返回一个包含value和done的对象,value为当前所指向的成员的值,done表示是否遍历完成。通过这些描述,我们大致可以手写一个Iterator,用于遍历数组: // 定义遍历器对象 let Iterator = function (arr) { let index = 0; // 当前指针 return { next() { return index < arr.length ? {value: arr[index++],done: false} : {value: undefined, done: true}; } } }; let

js的一些总结

北城余情 提交于 2019-12-10 15:18:17
最近突然发现之前写得好多代码都是一坨屎啊== 比如在数组中我使用(for .. in)去遍历,才发现自己的一些错误,在vue页面中使用了json.parse的类似操作。。 以后要好好的学习啊,不能再犯一些低级小错误了。 一、数组常见的15种操作 1.遍历数组 (1)方法一: for...of循环 const numbers = [1, 3, 5]; for (const num of numbers) { console.log(num); } // 1 // 3 // 5 可以使用 break 语句可以停止遍历 (2)方法二: for循环 const numbers = [1, 3, 5]; for (let i; i < numbers.length; i++) { console.log(numbers); } // 1 // 3 // 5 可以随时使用 break 语句停止遍历。 (3)方法三: array.forEach()方法 array.forEach(callback) 方法通过在每个数组项上调用 callback 函数来遍历数组项。 在每次遍历中,都使用以下参数调用 callback(item [, index [, array]]) :当前遍历项,当前遍历索引和数组本身。 const numbers = [1, 3, 5]; numbers.forEach

【js】for、forEach、map数组遍历性能比较

一世执手 提交于 2019-12-09 05:58:18
【js】for、forEach、map数组遍历性能比较 先上结果:遍历时间上 for循环遍历 < for…of遍历 < forEach遍历 < for…in遍历 < map遍历 背景 常用的数组遍历方式有很多, 如最经典的for循环 for ( var i = 0 ; i < arr . length ; i ++ ) { } 再者有了for…in for ( var i in arr ) { } forEach arr . forEach ( function ( i ) { } ) ; map arr . map ( function ( i ) { } ) ; 然后ES6有了更为方便的for…of for ( let i of arr ) { } 此篇不考虑作用差异,仅对这些方式的性能做一次比较。 注:filter、every、some跟forEach/map相近,不常用所以本次不加入比较。 1.对比方案 本次采用最直观的方式进行对比:通过对高数量级数组的遍历时间进行比较。 1.1 数组arr: let arr = [ ] ; for ( let i = 0 ; i < 10000000 ; i ++ ) { arr [ i ] = i ; } console . log ( arr ) ; // [0, 1, 2, 3, ... , 9999999] 1.2 对比函数:

你会用哪些JavaScript循环遍历

大兔子大兔子 提交于 2019-12-07 19:04:04
总结JavaScript中的循环遍历 定义一个数组和对象 const arr = ['a', 'b', 'c', 'd', 'e', 'f']; const obj = { a: 1, b: 2, c: 3, d: 4 } for() 经常用来遍历数组元素 遍历值为数组元素索引 or (let i = 0; len = arr.length, i < len; i++) { console.log(i); // 0 1 2 3 4 5 console.log(arr[i]); // a b c d e f } forEach() 用来遍历数组元素 第一个参数为数组元素,第二个参数为数组元素索引,第三个参数为数组本身(可选) 没有返回值 console.log(item); // a b c d e f console.log(index); // 0 1 2 3 4 5 }) 前端全栈学习交流圈:866109386,面向1-3经验年前端开发人员,帮助突破技术瓶颈,提升思维能力,群内有大量PDF可供自取,更有干货实战项目视频进群免费领取。 map() 用来遍历数组元素 第一个参数为数组元素,第二个参数为数组元素索引,第三个参数为数组本身(可选) 有返回值,返回一个新数组 every(),some(),filter(),reduce(),reduceRight()不再一一介绍

jquery遍历json与数组方法总结each()

馋奶兔 提交于 2019-12-06 21:17:33
在jquery中遍历数组或json数组我们使用最多的方法是each这个函数了或使用foreach,for也是可以实现的,下面我来给大家详细介绍jquery遍历json与数组实现。 代码如下复制代码 先我们来参考each() 方法。 在jquery中遍历数组或json数组我们使用最多的方法是each这个函数了或使用foreach,for也是可以实现的,下面我来给大家详细介绍jquery遍历json与数组实现。 先我们来参考each() 方法,each()规定为每个匹配元素规定运行的函数,返回 false 可用于及早停止循环 语法。 $(selector).each(function(index,element)) 例: each处理一维数组 var arr1 = [ "aaa", "bbb", "ccc" ]; $.each(arr1, function(i,val){ alert(i); alert(val); }); alert(i)将输出0,1,2 alert(val)将输出aaa,bbb,ccc each处理二维数组   var arr2 = [['a', 'aa', 'aaa'], ['b', 'bb', 'bbb'], ['c', 'cc', 'ccc']]   $.each(arr2, function(i, item){ alert(i); alert(item);