for-in遍历
Posted 麦兜家园
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for-in遍历相关的知识,希望对你有一定的参考价值。
关于for-in格式如下:
for (变量 in 对象) { 在此执行代码 }
for-in可以遍历json的操作:for-in就是挨个找到json对象里面的属性名称,属性值;
<script> window.onload=function(){ var json={name:\'Juce\',age:\'23\'}; for(var attr in json){ alert(json[attr])//返回的是Juce,23 } } </script>
for-in也可以遍历数组:
<script> window.onload=function(){ var json1={ name:[\'juce\',\'lulu\',\'nana\'], age:[\'23\',\'18\',\'20\'] }; for(var attr in json1){ for(var i=0;i<json1[attr].length;i++){ alert(json1[attr][i]); } } } </script>
对于数组来说的for循环格式不能遍历json,而for-in即可以遍历json也可以遍历数组!
有几点提醒一下大家:
注意一:for in循环不会按照属性的下标来排列输出。
<script> window.onload=function(){ var json2 = { \'4\': \'first\', \'3\': \'second\', \'2\': \'third\', \'1\': \'fourth\' }; for (var i in json2) { console.log(i + " " + json2[i]) } } </script>
输出结果如下:
<script> window.onload=function(){ var json3={ "first":"first", "family":"5", "2":"2", "34":"34", "1":"1", "number":"4" }; for (var i in json3) { console.log(i + " " + json3[i]) } } </script>
输出结果是:
注意二:建议尽量不要对数组执行for in循环。
事实上,在高性能javascript这本书中,也强调了for in循环的不好,因为它总是会访问该对象的原型,看下原型上是否有属性,这在无意中就给遍历增加了额外的压力。
好了,以上纯属个人的一点点小建议!希望有益于大家!
以上是关于for-in遍历的主要内容,如果未能解决你的问题,请参考以下文章