码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript对象遍历

时间:2015-11-27 12:41:01      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

 

一、对象是数组:
 
var arr = [{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"},{"id":"3","tagName":"banana"},{"id":"4","tagName":"watermelon"},{"id":"5","tagName":"pineapple"}]; 
$.each(arr, function(index, obj) {
alert(index);            => 0,1, 2, 3, 4 
alert(obj);             =>{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"}...
alert(obj.id);          => 1, 2, 3, 4, 5
alert(obj.tagName);    => apple, orange, banana, watermelon, pineapple
});                       
 
$.each(arr, function(index, obj) {
  alert("第"+ index +"项的tagName是"+obj.tagName);

});                         =>第0项的tagName是apple  第1项的tagName是orange..................

 
===========================================================================================================================
 
 var arr [987654321]; 
 
each遍历:
    $.each(arr,function (index,value) {
     alert(index)
})                  =>0 1 2 3 4 5 6 7 8
 
 
    $.each(arr,function (index,value) {
     alert(value)
    })                    =>9 8 7 6 5  4 3 2 1     
 
    $.each(arr,function () {
     alert(this)
    })                                     =>9 8 7 6 5  4 3 2 1     
   
----------------------------------------------------------------------------------------------------------------------------------------
 
 
for遍历:
for (var i in arr) {                //不推荐for in 遍历数组
      console.log(arr[i]);
    }                                                           =>9 8 7 6 5  4 3 2 1     
 
 
for (var i = 0; i < arr.length; i++) {
    console.log(arr[i]);
   }                                                            =>9 8 7 6 5  4 3 2 1                             
 
 
 
===========================================================================================================================
 
 
 
var data=[{"1":{"name":"kc","status":1}},{"2":{"name":"bc","status":2}}];
 
 
原生JS获取:

 

for(var i=0;i<data.length;i++){

 

 

    for(var item in data[i]){//{"1":{"name":"kc","status":1}},{"2":{"name":"bc","status":2}}

 

 

        console.log(item);//key    1,2

 

 

        console.log(data[i][item]);//value     {name: "kc", status: 1},{name: "bc", status: 2}

 

 

        console.log(data[i][item].name);//kc bc    获取属性值

 

 

        console.log(data[i][item].status);//1 2    获取属性值

 

 

    }

 

 

}
 
 

----------------------------------------------------------------------------------------------------------------------------------------


  jquery获取

     $.each(data,function(key,val){

 

    console.log(key);//索引

 

 

    console.log(val);//{"1":{"name":"kc","status":1}},{"2":{"name":"bc","status":2}}

 

 

    $.each(val, function(key1,val1) {    

 

 

        console.log(key1);//key  1,2

 

 

        console.log(val1);//value, {name: "kc", status: 1},{name: "bc", status: 2}

 

 

        console.log(val1.name);//属性值

 

 

    });

 

 

})

 

             
 
 
===========================================================================================================================
===========================================================================================================================
 
 
二、对象是json:
 
var json  =  { "jim": "11", "tom": "12", "lilei": "13" }; 
 
jquery获取
$.each(json , function(key, value) { 
alert(key);                  =>jim  tom  lilei      
alert(value);               =>11  12  13     
}); 
 
原生JS获取
for(var i in json){
    alert(i);                   =>jim  tom  lilei
        alert(json[i]);           =>11  12  13
};

 
 
===========================================================================================================================
===========================================================================================================================
 
 
三、json是字符串:(解决方案:JSON字符串转换为JavaScript对象。)
 
var json = ‘[{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"},{"id":"3","tagName":"banana"},{"id":"4","tagName":"watermelon"},{"id":"5","tagName":"pineapple"}]‘;
 
$.each($.parseJSON(json), function(idx, obj) {        //用$.parseJSON(json)或者JSON.parse(json)将其转换为JavaScript对象   字符串转json对象
         alert(obj.tagName);            =>apple, orange, banana, watermelon, pineapple
});    
 
 
 

json的的解析方法 

json的解析方法共有两种:eval() 和 JSON.parse(),使用方法如下:

 

var jsonData = ‘{"data1":"Hello", "data2":"world"}‘;
var evalJson=eval("("+jsonData+")");             //Object {data1: "Hello", data2: "world"}                      
var jsonParseJson=JSON.parse(jsonData);                  //Object {data1: "Hello", data2: "world"}

 

这样就把jsonData这个json格式的字符串转换成了JSON对象。

 
var dataObj=eval("("+data+")");//转换为json对象
eval在解析字符串时,会执行该字符串中的代码(这样的后果是相当恶劣的) 
 
 
var obj= [{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"},{"id":"3","tagName":"banana"},{"id":"4","tagName":"watermelon"},{"id":"5","tagName":"pineapple"}];
 
JSON.stringify(obj)                        //json对象字符串    与JSON.parse()相反
 
"[{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"},{"id":"3","tagName":"banana"},{"id":"4","tagName":"watermelon"},{"id":"5","tagName":"pineapple"}]"
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 

JavaScript对象遍历

标签:

原文地址:http://www.cnblogs.com/xiabingbing/p/5000193.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!