for in 循环获取json中的键(key)与值(value)

时间:2024-03-01 09:16:08

一 .for in 循环

1.获取json中的键(key)与值(value):

var data = {name:\'张三\',age:\'20岁\',sex:\'男\'};
for (var a in data) { console.log(a); /*属性名*/ console.log(data[a]); /*属性值*/ };

 

2.获取数组中的值

var a = [\'apple\',\'banana\',\'pear\'];
for(var i in a){ console.log(i); /*在数组中的位置*/ console.log(a[i]); /**/
}

使用for in 可以遍历数组,但是会存在以下问题:

1.index索引为字符串型数字,不能直接进行几何运算

2.遍历顺序有可能不是按照实际数组的内部顺序

3.使用for in会遍历数组所有的可枚举属性,包括原型。

所以for in更适合遍历对象,不要使用for in遍历数组。

除了使用for循环,如何更简单的正确的遍历数组达到我们的期望呢,ES6中的for of会更好一点。

 

二、for of 方法(ES6)

var newArray=[1,2,4,5,6,7];
for (var value of newArray) {
  console.log(value);

注意,for in遍历的是数组的索引(即键名key),而for of遍历的是数组元素值(即value)。

综上,建议for in 循环对象,for of循环数组