Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

js 遍历json对象

作者:望断天涯   发布日期:2025-02-07   浏览:46

// 示例 JSON 对象
const jsonObject = {
  "name": "Alice",
  "age": 25,
  "address": {
    "city": "New York",
    "zip": "10001"
  },
  "hobbies": ["reading", "swimming", "coding"]
};

// 方法一:使用 for...in 遍历对象的键
for (let key in jsonObject) {
  if (jsonObject.hasOwnProperty(key)) {
    console.log(key + ": " + jsonObject[key]);
  }
}

// 方法二:使用 Object.keys() 和 forEach()
Object.keys(jsonObject).forEach(function(key) {
  console.log(key + ": " + jsonObject[key]);
});

// 方法三:使用 Object.entries() 和 forEach()
Object.entries(jsonObject).forEach(([key, value]) => {
  console.log(key + ": " + value);
});

// 方法四:递归遍历嵌套的 JSON 对象
function traverse(obj) {
  for (let key in obj) {
    if (typeof obj[key] === 'object' && obj[key] !== null) {
      console.log(key + ":");
      traverse(obj[key]); // 递归调用
    } else {
      console.log(key + ": " + obj[key]);
    }
  }
}

traverse(jsonObject);

解释说明:

  1. 方法一 使用 for...in 循环遍历对象的所有可枚举属性。为了确保只遍历对象自身的属性(而不是继承的属性),我们使用了 hasOwnProperty() 方法。
  2. 方法二 使用 Object.keys() 获取对象的所有键,然后通过 forEach() 遍历这些键,并打印键和对应的值。
  3. 方法三 使用 Object.entries() 获取对象的所有键值对数组,然后通过 forEach() 遍历这些键值对,并打印键和对应的值。
  4. 方法四 使用递归函数 traverse() 来遍历嵌套的 JSON 对象。如果遇到对象类型的值,则递归调用自身继续遍历子对象。

以上代码展示了不同的遍历方式,可以根据具体需求选择合适的方法。

上一篇:js class

下一篇:js object遍历

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js 数组复制

js 复制数组

js 数组拷贝

js 对象转数组

js 深拷贝数组

js 获取今天年月日

js jsonp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站