js遍历对象

$.each()、$.map()区别浅谈

匿名 (未验证) 提交于 2019-12-02 21:53:52
  遍历应该是各种语言中常会用到的操作了,实现的方法也很多,例如使用for、while等循环语句就可以很轻松的做到对数组或对象的遍历,今天想讲的不是它们,而是简单方便的遍历方法。   大致的整理了一下,经常用到的大概有Jquery的$.each、$.map、each()、map()、get()、toArray()以及js原生的forEach()吧,当然肯定还有一些我不知道的,今天就先谈谈$.each()和$.map()区别。 $.each() $.each()方法可用于遍历任何对象(包括数组),结构为:$.each(array/object,function(index/key,value){ code })。index指遍历对象成员的索引,value指成员的内容。如果需要退出循环可使回调函数返回 false,其它返回值将被忽略。 上栗子: //遍历数组 $(function(){ var arr = ["a","b","c","d"]; $.each(arr,function(index,value){ console.log(value+" "+index); }); }); 结果依次输出 a0 b1 c2 d3 如果你在循环中放入console.log(this),结果会依次输出string{a}。。。也就是表明返回值为对象。 //遍历对象 $(function(){ var

CAD关于图层显示图层操作(com接口网页版)

夙愿已清 提交于 2019-12-02 18:18:11
如下例子,得到层表,然后循环得到所有层表记录,并打开图层显示 例如代码 JS: function OpenAllLayer() { var database = mxOcx.GetDatabase(); //返回数据库中的层表对象 var spLayerTable = database.GetLayerTable(); //创建一个遍历层表中所有图层的遍历器 var spIter = spLayerTable.NewIterator(); //移动当前遍历器位置 for(;!spIter.Done();spIter.Step(true,true)) { //返回遍历器当前位置的记录 var spLayerRec = spIter.GetRecord(); var sName = spLayerRec.Name; var layerRec=spLayerTable.GetAt(sName,false); if(layerRec) { layerRec.IsOff = false; alert("成功显示图层"); } } } 来源: https://www.cnblogs.com/yzy0224/p/11757264.html

CAD关于图层锁定图层操作(com接口网页版)

空扰寡人 提交于 2019-12-02 18:18:00
锁定后的图层上的实体不能编辑,但可以选择,如果想也不能选择,设置控件InitSet属性值为:SelectLockLayer=N 下面演示,遍历所有图层表记录,并设置图层为锁定状态, 例如代码 JS: function LockeAllLayer() { //返回控件的数据库对象 var database = mxOcx.GetDatabase(); //返回数据库中的层表对象 var layerTable = database.GetLayerTable(); //创建一个遍历层表中所有图层的遍历器 var iter = layerTable.NewIterator(); for (; !iter.Done(); iter.Step()) { //返回遍历器当前位置的记录 var layerRec = iter.GetRecord(); layerRec.IsLocked = true; alert("成功锁定图层"); } } 来源: https://www.cnblogs.com/yzy0224/p/11757268.html

js遍历json对象

旧城冷巷雨未停 提交于 2019-12-02 15:21:57
1. JSON数据 转 字符串 JSON.stringify(jsondata) 2. 字符串 转 JSON JSON.parse(str) 原生js遍历json对象 遍历json对象: 无规律: <script> var json = [   {dd:'SB',AA:'东东',re1:123},   {cccc:'dd',lk:'1qw'} ]; for(var i=0,l=json.length;i<l;i++){   for(var key in json[i]){     alert(key+':'+json[i][key]);   } } </script> 参考资料 js遍历json对象 https://www.cnblogs.com/qingqingzou-143/p/7079725.html JS 中 Map 与 JSON 转换 https://blog.csdn.net/jiangyu1013/article/details/86293815 来源: https://blog.csdn.net/GoOnDrift/article/details/102779260

JS基础-全局内置对象

谁都会走 提交于 2019-12-02 03:51:09
对象 JS中有那些内置对象 数据封装类对象 String、Array、Object、Boolean、Number 其他对象 Math、Date、RegExp、Error、Function、Arguments ES6 新增对象 Promise、Map、Set、Symbol、Proxy、Reflect 数组Array对象常用方法 修改器方法 下面的这些方法会 改变调用它们的对象自身的值 : Array.prototype.pop() 删除数组的最后一个元素,并返回这个元素。 Array.prototype.push() 在数组的末尾增加一个或多个元素,并返回数组的新长度。 Array.prototype.shift() 删除数组的第一个元素,并返回这个元素。 Array.prototype.unshift() 在数组的开头增加一个或多个元素,并返回数组的新长度。 Array.prototype.splice() 在任意的位置给数组添加或删除任意个元素。 Array.prototype.reverse() 颠倒数组中元素的排列顺序,即原先的第一个变为最后一个,原先的最后一个变为第一个。 Array.prototype.sort() 对数组元素进行排序,并返回当前数组。 Array.prototype.fill() 将数组中指定区间的所有元素的值,都替换成某个固定的值。 Array

浅谈JS的数组遍历方法

久未见 提交于 2019-11-29 17:11:28
用过Underscore的朋友都知道,它对数组(集合)的遍历有着非常完善的API可以调用的,_.each()就是其中一个。下面就是一个简单的例子: var arr = [1, 2, 3, 4, 5]; _.each(arr, function(el) { console.log(el); }); 上面的代码会依次输出1, 2, 3, 4, 5,是不是很有意思,遍历一个数组连for循环都不用自己写了。 _.each()方法遍历数组非常好用,但是它的内部实现一点都不难。下面就一起来看看到底是如何实现_.each()的。 在这之前,我们先来看看_.each()的API。_.each()的一般是如下调用的: _.each(arr, fn, context); 它接收3个参数, 第一个是需要遍历的数组( 其实是对象也是可以的,这个后面我们再一起来讨论 ); 第二个是它的回调函数(这个回调函数可以传入3个参数,如:function(el, i, arr),分别是当前元素、当前索引和原数组); 第三个是回调函数需要绑定到的上下文,即指定回调函数fn的this值。 好啦,需求已经非常明确了,开始干活啦! 我们先来实现一个最简单的_.each(),它不能够修改上下文this的,接收两个参数,代码如下: var _ = {}; // 假设这就是underscore哈 // 一个最简单的_

js中的数组遍历

大城市里の小女人 提交于 2019-11-29 17:11:07
js中的数组遍历是项目中经常用到的,在这里将几种方法做个对比。 ! for循环:使用评率最高,也是最基本的一种遍历方式。 let arr = ['a','b','c','d','e']; for (let i = 0, len = arr.length; i < len; i++) { console.log(i); // 0 1 2 3 4 console.log(arr[i]); //a b c d e } forEach()循环:forEach中传入要执行的回调函数,函数有三个参数。第一个参数为数组元素(必选),第二个参数为数组元素索引值(可选),第三个参数为数组本身(可选) let arr = ['a','b','c','d','e']; arr.forEach((item,index,arr)=> { console.log(item); // a b c d e console.log(index); // 0 1 2 3 4 console.log(arr); // ['a','b','c','d','e'] }) map循环: map()中传入要执行的回调函数,函数有三个参数。第一个参数为数组元素(必选),第二个参数为数组元素索引值(可选),第三个参数为数组本身(可选) var arr = [ {name:'a',age:'18'}, {name:'b',age:

循环遍历数组/对象

血红的双手。 提交于 2019-11-29 17:10:25
1、for循环   1)常规写法        2) arr.lengh缓存下来:实际上,缓存后比常规写法效率要低       3)小技巧:边赋值边判断,第二个分号中是判断的内容,每次循环时会对其进行判断,当i++大于arr的长度时,arr[i++]=underfined 在JS中0 null   underfined '' 都会转换为false,循环停止。      注意:for循环使用break、continue和return都可以退出   1)break:终止循环,只能用在循环语句中        2)continue:跳出当前循环。继续下一个循环       3)return 表达式:用于指定函数返回的值,只能用在函数体中。     执行return false;语句会终止函数的执行,返回到函数的调用处,即使后面还有其他的语句也     不再执行。        2、for of:ES6推出的用于迭代字符串、数组、类数组对象、map、set等一切可以迭代的结构。       注意:不能迭代对象   1)字符串与数组      2)类数组对象      3)set结构   4)map结构     3、for in(ES5):主要用于遍历数组或者对象中的属性,不推荐直接遍历数组,因为遍历的是数组中的索引        4、forEach():用于遍历数组   forEach

js 数组遍历

*爱你&永不变心* 提交于 2019-11-29 17:10:08
map、filter、forEach、every、some http://www.runoob.com/jsref/jsref-obj-array.html 1、在字符串中使用 map 在一个String上使用 map 方法获取字符串中每个字符所对应的 ASCII 码组成的数组: var map = Array.prototype.map var a = map.call("Hello World", function(x) { return x.charCodeAt(0); }) // a的值为[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100] 2、JavaScript中 map 函数和 filter 的区别 filter 检测数值元素,并返回符合条件所有元素的数组。(对原数组的过滤) map 通过指定函数处理数组的每个元素,并返回处理后的数组。(对原数组的加工) var arr = [1, 2, 3, 4]; var newArr = arr.filter(function(item) {  if (item % 2 !== 0) { return item; } }); console.log(newArr); //[1, 3] console.log(arr); //[1, 2, 3, 4] var newArr =

JS——for,for in,forEach,for of循环遍历辨析

孤人 提交于 2019-11-29 17:09:55
问题来源 是遇到的一道题: 正确答案:ABCD,答案解析见文章最后 for,for in,forEach,for of循环遍历辨析(由于字符串与数组的遍历是一样的,所以关于字符串的遍历这里不再赘述) 首先,最简单的for循环遍历 var arr = [10, 20, 30, 40, 50]; for(var i = 0; i < arr.length; i++){ console.log(arr[i]) } for in(快速枚举法)(遍历字符串的方法与数组相同) for(var i in arr){ //i 是下标 console.log(arr[i]); } var obj = {   name: "小明",   age: 40,   sex: "男" } for(var i in obj){ //i 属性 console.log(i, obj[i]);} 从上面可以看出for in其实是通过遍历数组、字符串的下标来进行遍历的,而for in遍历对象是通过属性来进行遍历来的。 forEach(ECMA5中提供的方法) arr.forEach(function(item, index, arr){ console.log(item, index); }) 这里的item代表数组的元素(在字符串中代表的是一个字符),index代表的是数组的下标,arr是数组名(或字符串名) 【注意