js中用for in 语句遍历数组问题

问题描述

js中用for in 语句遍历数组问题
var arr=new Array(3);
用for循环遍历:
for(var x=0;x<arr.length;x++){
document.write(arr[x]);
}
网页上显示:undefined undefined undefined

现在用for in 遍历:
for(var x in arr){
document.write(arr[x]);
}
为什么网页上什么都不显示?

解决方案

这两种方式有差异的,对于第一种方式来说,在new的时候确定了array的大小,循环数组大小取值,因为没有初始值,都是undefined.
第二种方式是通过array的属性方式,是不关心数组大小的,只关心里面内容,因为没有赋值,因为只有长度,实际内部还是没有内容,无法形成keyvalue的方式,也就没有输出。

解决方案二:
var arr=new Array(3);
用for循环遍历:
for(var x=0;x<arr.length;x++){
document.write(arr[x]);
}
网页上显示:undefined undefined undefined
arr没有初始化,所以显示未定义的错误

现在用for in 遍历:
for(var x in arr){
document.write(arr[x]);
}
为什么网页上什么都不显示?
因为这个数组,没有初始化,所以循环没有满足条件去运行

解决方案三:
用for in,直接写document.write(x);就可以了。x不是数组的下标而是数组中的值

解决方案四:
很显然嘛,你的数组没有初始化,所以提示undefined。

解决方案五:
数组里面没东西,没初始化

解决方案六:
引入jquery用each循环最好了

解决方案七:
第一种相当于x是索引值,输出用arr[x]第二种和第一种是有区别的,输出肯定不能还是那样。。。第二个没有初始化内容也不会显示。。。

时间: 2024-12-03 19:11:05

js中用for in 语句遍历数组问题的相关文章

jQuery使用each方法与for语句遍历数组示例_jquery

本文实例讲述了jQuery使用each方法与for语句遍历数组.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

asp.net c# foreach语句遍历数组(1/3)

foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组.foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用. 备注 -------------------------------------------------------------------------------- 嵌入语句为数组或集合中的每个元素继续执行.当为集合中的所有元素完成迭代后,控制传递给 foreach 块之后的下一个语句. 可以在 foreach 块的任何点使

PHP循环遍历数组的3种方法list()、each()和while总结_php实例

①each()函数 each()函数需要传递一个数组作为参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置.键/值对被返回带有4个元素的关联和索引混合的数组,键名分别为0.1.key和value.其中键名0和key对应的值是一样的,是数组元素的键名,1和value则包含有数组元素的值.如果内部指针越过了数组的末端,则each()返回FALSE.each()函数的使用如下所示: 复制代码 代码如下: <?php $contact = array("ID" =&

PHP遍历数组的几种方法_php技巧

PHP中遍历数组有三种常用的方法: 一.使用for语句循环遍历数组: 二.使用foreach语句遍历数组: 三.联合使用list().each()和while循环遍历数组. 这三种方法中效率最高的是使用foreach语句遍历数组.从PHP4开始就引入了foreach结构,是PHP中专门为遍历数组而设计的语句,推荐大家使用.先分别介绍这几种方法. 一.使用for语句循环遍历数组 值得大家注意的是使用for语句循环遍历数组要求遍历的数组必须是索引数组.PHP中不仅有关联数组而且还有索引数组,所以PH

Javascript技巧之不要用for in语句对数组进行遍历_jquery

一,为什么不要用for in语句 jqModal这个jquery插件估计很多人都使用过,在jqModal源码内部,有一个函数为hs,其中有个嵌套循环如下, 复制代码 代码如下: for(var i in {jqmShow:1,jqmHide:1}) for(var s in this[i]) if(H[this[i][s]]) H[this[i][s]].w[i](this); return F; } 第一个for in遍历的目标是个匿名对象,没有问题. 第二个for in遍历,根据上下文确认t

js数组循环遍历数组内所有元素的方法

 在js中数组遍历最简单的办法就是使用for然后再利用arr.length长度作为for最大限度值即可解决了,下面我们来看看一些有用的实例 例,for(){}遍历数组  代码如下: <script type="text/javascript">  <!-- var arr = new Array(13.5,3,4,5,6); for(var i=0;i<arr.length;i++){  arr[i] = arr[i]/2.0; } alert(arr);  /

四种JS遍历数组方法

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.111cn.net/1999/xhtml"> <head> <meta http-equiv="conte

JS遍历数组及打印数组实例分析_javascript技巧

本文实例分析了JS遍历数组及打印数组的方法.分享给大家供大家参考,具体如下: 一直头痛与JS的打印数组,也没看到什么比较好的方法,写一个简单的方法备用. // 遍历数组 var dd = { 'a' : '111111', 'b' : '222222', 'c' : '333333' } dd['d'] = ['444444','55555555']; // 遍历数组 function scan_array(arr) { for(var key in arr) { // 这个是关键 if(typ

Java中使用While语句自增运算遍历数组典型实例_java

public class BirdArray { public static void main(String args[]){ String[] str = new String[]{"麻雀","老鹰","白鸽","黄雀","百灵鸟","孔雀","鹦鹉","丹顶鹤"}; int index =0; //创建索引变量 System.out.prin