for-in遍历json数据

时间:2023-12-09 23:30:55

1、for遍历json数据

var json = {'name':'wly','age':'','fun':'前端开发'}
for(var attr in json){
alert(json[attr]) //遍历json属性的数据
  alert(json['name']) //访问单个json属性
}

2、for in 遍历对象属性

var str = '';
var num = ;
for(var attr in window){
str += num + '.'+ attr+':'+ window[attr] + '<br/>';
num++;
}
document.body.innerHTML = str;
var str = '';
var num = 0;
for(var attr in document){
str += num + '.'+ attr+':'+ document[attr] + '<br/>';
num++;
}
document.body.innerHTML = str;

json数据因为没有length,所以无法使用for循环,只能用for-in遍历。

但是数组有length,可以用for循环,也可以用for-in

var arr = ['aa','cc','dd'];
for(var i in arr){
alert(i);
   alert(arr[i]);
}

定义数组的方式:

var arr1 = ['','',''];
var arr2 = new Array(); //放入数字,就等于长度为3
var arr3 = new Array(''); //放入字符串,相当于赋值进数组
//alert(arr3.length); var arr5 = ['mmm','',''];
arr5.length = ; //数组长度变为1
//alert(arr5); arr5.length = ; //数组长度为0,就是一个快速清空数组内容的方法
arr = [] //清空数组内容,这也算一个方法---重新赋一个空数组。 一般数组内容多时,这个据说效率更高。

综上数组的操作,也就是说数组的length是可写的

然而字符串呢,

var str = 'ccccccccc';
str.length = ;
alert(str); //弹出的还是ccccccccc