JavaScript对象遍历

一、对象是数组:

 

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 = [9, 8, 7, 6, 5, 4, 3, 2, 1]; 

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"}]"

时间: 2024-08-06 11:51:11

JavaScript对象遍历的相关文章

快速学习javascript对象-遍历对象

为了方便了解每个javascript对象包含的方法,我写一个函数. 1 function GetCollection(obj){ 2 try{ 3 if(obj){ 4 var sType=""; 5 var sMessage=""; 6 for (var i in obj){ 7 if(obj[i] ===null || obj[i] === undefined){ 8 sType="i"; 9 sMessage += "\r\n&q

遍历 JSON JavaScript 对象树中的所有节点

我想要遍历 JSON 对象树中,但为何找不到任何一间图书馆.这似乎是不难,但感觉就像重新发明轮子. 在 XML 中有很多教程演示如何遍历 XML DOM 树:( 解决方法 1: 如果你认为 jQuery 是什么样的overkill这种原始的任务,你可以这样做: //your object var o = { foo:"bar", arr:[1,2,3], subo: { foo2:"bar2" } }; //called with every property an

JavaScript对象之关联数组

Tip: 内容摘抄自<JavaScript权威指南>,看过该书的同学可以忽略本文. 存取一个对象的属性的方式: obj.attr; obj["attr"]; 两者最重要的区别就是前者的属性名是标示符,后者的属性名是一个字符串. 用"."运算符来存取一个对象的属性时,属性名是标示符,JavaScript程序中,标示符必须被逐字输入,它们不是一种数据类型,因此程序不能对他们进行操作. 用数组的概念"[]"来存取一个对象的属性时,属性名是用

JavaScript对象浅谈

JavaScript对象 对象 ECMA-262 把对象(object)定义为"属性的无序集合,每个属性存放一个原始值.对象或函数".严格来说,这意味着对象是无特定顺序的值的数组. 对象是属性和方法的无序集合 对象就是无序属性的集合 尽管 ECMAScript 如此定义对象,但它更通用的定义是基于代码的名词(人.地点或事物)的表示. 在JavaScript中,除了数字.字符串.布尔值.null.undefined这五种原始类型,之外的都是对象,也就是印证了"万物皆对象&quo

JavaScript 各种遍历方式详解

为了方便例子讲解,现有数组和json对象如下 var demoArr = ['Javascript', 'Gulp', 'CSS3', 'Grunt', 'jQuery', 'angular']; var demoObj = { aaa: 'Javascript', bbb: 'Gulp', ccc: 'CSS3', ddd: 'Grunt', eee: 'jQuery', fff: 'angular' }; for 可以直接看示例,用得太多了,很简单 (function() { for(var

javascript如何遍历数组中的每一个元素

javascript如何遍历数组中的每一个元素:遍历数组中的所有元素是一个非常基础简单的操作,可能初学者还不够了解,下面就通过代码实例介绍一下如何实现此功能.代码如下: var theArray=["蚂蚁部落","青岛市南区","新锐科技",3]; for(var index=0;index<theArray.length;index++) { console.log(theArray[index]); } 以上代码可以遍历数组中的每一个元

Ext JS学习第十天 Ext基础之 扩展原生的javascript对象(二)

此文来记录学习笔记: 今天继续说Ext.Array,Ext.Function,Ext.Date,Ext.Error ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Ext.Ar

JavaScript各种遍历方式详解

为了方便例子讲解,现有数组和json对象如下 1 var demoArr = ['Javascript', 'Gulp', 'CSS3', 'Grunt', 'jQuery', 'angular']; 2 var demoObj = { 3 aaa: 'Javascript', 4 bbb: 'Gulp', 5 ccc: 'CSS3', 6 ddd: 'Grunt', 7 eee: 'jQuery', 8 fff: 'angular' 9 }; for 可以直接看示例,用得太多了,很简单 1 (

javascript 对象(四)

一.对象概述 对象中包含一系列的属性,这些属性是无序的.每个属性都有一个字符串key和对应的value. var obj={x:1,y:2}; obj.x; obj.y; 1.为什么属性的key必须是字符串 重点: 可见,字符串的1和数字1访问的都是同一个属性 不管把空对象作为一个key,还是用带有x属性的对象作为key,实际上javascript都会把它转化为字符串,会toString()一下再去处理.所以最终依然指向同样一个属性. 2.对象结构 1.对象属性的结构 对象的属性可以动态添加和删