for in遍历数组和对象

   JavaScript 使用 for in 语句来遍历对象的属性和方法。for in 语句循环遍历 JavaScript 对象,每循环一次,都会取得对象的一个属性或方法。数组中使用 for...in 声明来循环输出数组中的元素。
语法:
for(valueName  in  ObjectName){
    // 代码
}
其中,valueName 是变量名,保存着属性或方法的名称,每次循环,valueName 的值都会改变。

遍历数组中的元素:
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"

for (var x in mycars)
{
document.write(mycars[x] + "<br />")
}

输出结果:
Saab
Volvo
BMW

遍历对象中的元素:
var zhangsan={}
zhangsan.name = "张三";
zhangsan.sex = "男";
zhangsan.say = function(){
        return "嗨!大家好,我来了。";
    }
zhangsan.contact = {
    tel : "029-81895644",
    qq : "1370753465",
    email : "[email protected]"
}
var strTem="";  // 空字符串,作为临时变量
for(value in zhangsan){
   strTem+=value+':'+zhangsan[value]+"\n";
}
document.write(strTem);

输出结果:
name:张三
sex:男
say:function(){
        return "嗨!大家好,我来了。";
    }
contact:[object Object]  //对象

遍历字符串:给定任意一个字符串,使用 for  in 语句来统计字符出现的个数:
function charNum(str){    
    var charObj={}                //创建一个空对象
    for(i=0,len=str.length;i<len;i++){
        if(charObj[str[i]]){      //str[i]为key    
            charObj[str[i]]++;    //charObj[str[i]]为value
        }else{ 
            charObj[str[i]]=1;
        }
    }
    var strTem="";  // 临时变量
    for(value in charObj){
        strTem+='"'+value+'"的个数:'+charObj[value]+'\n';
    }
    return strTem;
}
document.write(charNum("11,23"));

输出的结果:
"1"的个数:2
"2"的个数:1
"3"的个数:1
","的个数:1

你可能感兴趣的:(JS遍历对象,JS统计字符串元素出现的次数。,JS遍历字符串,JS遍历数组)