// JSON 格式的对象
var jsonObject = {
"name": "John",
"age": 30,
"city": "New York"
};
// 使用 for...in 循环遍历对象的属性
for (var key in jsonObject) {
if (jsonObject.hasOwnProperty(key)) {
console.log(key + ": " + jsonObject[key]);
}
}
在这个例子中,for (var key in jsonObject) 遍历了 jsonObject 对象的所有可枚举属性。在循环体内,通过 jsonObject.hasOwnProperty(key) 检查属性是否属于对象本身,而不是继承的属性。这是因为 for...in 循环也会遍历对象的原型链上的属性,使用 hasOwnProperty() 过滤掉继承的属性。
请注意,for...in 循环遍历对象的属性顺序不是固定的,因此不要依赖于属性的遍历顺序。如果需要确保顺序,应该使用数组或 Map。
// JSON 格式的数组
var jsonArray = [
{"name": "John", "age": 30, "city": "New York"},
{"name": "Alice", "age": 25, "city": "Los Angeles"},
{"name": "Bob", "age": 35, "city": "Chicago"}
];
// 使用 for...in 循环遍历数组的索引
for (var index in jsonArray) {
if (jsonArray.hasOwnProperty(index)) {
console.log("Person " + (parseInt(index) + 1) + ":");
var person = jsonArray[index];
for (var key in person) {
if (person.hasOwnProperty(key)) {
console.log(" " + key + ": " + person[key]);
}
}
}
}
在这个例子中,for (var index in jsonArray) 遍历了数组的索引,然后通过 jsonArray[index] 获取数组元素。同样,在内部的 for...in 循环中使用 hasOwnProperty() 检查属性。
转载请注明出处:http://www.zyzy.cn/article/detail/4541/JSON