怎样删除js数组中的undefined?

JavaScript011

怎样删除js数组中的undefined?,第1张

思路

方法一:如果数组中的元素有意义的是非零或者非空,则可以根据if(!a[i])的方式进行判断

方法二:比较通用的判断undefined是使用typeof的方式,判断是不是等于字符串undefined

代码

var a=[]

a[5]=7

var b = []//去除undefined后的结果

for(var i=0i<a.lengthi++){

if(typeof(a[i])!='undefined'){

b.push(a[i])

}

}

从图片来看,所谓的空值其实是换行符,因为两个双引号是放在两行的,说明里面的内容是换行的(38、35这些数字的后面也是有换行符),所以如果按空格或者空值来处理肯定不对了,应该这样:

if(content[i]=="\n")content.splice(i,1)

或者用更先进的方法来处理(不需要循环):

content=content.filter(function(o){return o!="\n"})

如果\n不成功,可以改用\r

你的脚本在<select name="a" onchange="a_change()">之前 所以脚本运行找不到叫a的id

解决的方法

1 可以把script标记放在body之后

2 script脚本整个花括号括起来 外面加上window.onload={.......}