js 获取json数组里面数组的长度实例

yizhihongxing

获取JSON数组里面数组的长度可以使用JavaScript语言中的length属性,具体分为获取根数组长度和获取嵌套数组长度两种情况。

获取根数组长度

首先,需要使用JSON.parse()方法将JSON字符串解析成JavaScript对象。然后,通过对象的length属性获取根数组的长度。

示例代码如下所示:

let jsonStr = '[{"name": "张三", "age": 20}, {"name": "李四", "age": 21}]';
let jsonArray = JSON.parse(jsonStr);
let jsonArrayLength = jsonArray.length;
console.log(jsonArrayLength);  // 输出结果为:2

在上述代码中,jsonStr是一个包含两个对象的JSON字符串,jsonArray是将该字符串解析后得到的JavaScript对象,jsonArrayLength就是根数组的长度。

获取嵌套数组长度

嵌套数组指的是JSON数组里面还包含其他的数组。此时,可以使用递归的方法来获取嵌套数组的长度。

示例代码如下所示:

let jsonStr = '{"name":"张三","info":[{"hobby":"reading","year":[2019,2020,2021]},{"hobby":"writing","year":[2017,2018]}]}';
let jsonObj = JSON.parse(jsonStr);

function getNestedArrayLength(obj) {
  let length = 0;
  for (let key in obj) {
    if (Array.isArray(obj[key])) {  // 如果属性值是数组,则递归获取数组长度
      length += getNestedArrayLength(obj[key]);
    } else {
      length++;  // 如果属性值不是数组,说明到达了叶子节点,长度加1
    }
  }
  return length;
}

let nestedArrayLength = getNestedArrayLength(jsonObj);
console.log(nestedArrayLength);  // 输出结果为:5

在上述代码中,jsonStr是一个包含嵌套数组的JSON字符串,jsonObj是将该字符串解析后得到的JavaScript对象。在getNestedArrayLength()函数中,首先判断属性值是否是数组,如果是数组,则递归调用该函数获取数组的长度;否则,将长度加1。最后,返回长度值。

总之,获取JSON数组里面数组的长度,需要将JSON字符串解析成JavaScript对象,然后根据情况选择通过对象的length属性获取根数组的长度,或者使用递归的方法获取嵌套数组的长度。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 获取json数组里面数组的长度实例 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • js代码解密代码

    下面是“JS代码解密代码”的完整攻略。 什么是JS代码加密和解密? JS代码加密是为了防止源代码被盗用和反编译,在代码中嵌入了各种加密逻辑和算法来掩盖真实的代码逻辑,以实现反编译困难的目的。 JS代码解密就是将加密的JS代码还原成原来的代码,使得我们可以正常阅读和理解其逻辑,并进行二次开发或调试。 JS代码解密步骤: 分析加密方式 首先,我们需要了解代码被加…

    JavaScript 2023年5月19日
    00
  • 微信小程序动画组件使用解析,类似vue,且更强大

    微信小程序动画组件使用解析攻略 微信小程序提供了丰富的动画组件,通过这些动画组件可以轻松实现丰富、生动的交互效果。本文将详细讲解微信小程序动画组件的使用方法。 基础动画 微信小程序提供了基础的动画效果,包括位置移动、缩放、旋转、透明度改变等。 位置移动 位置移动通过translate()方法来实现,具体用法如下: // 创建一个动画实例 const anim…

    JavaScript 2023年6月11日
    00
  • 判断目标是否是window,document,和拥有tagName的Element的代码

    判断目标是否是 Window, Document 和拥有 tagName 的 Element 是前端开发中一种常见的操作,以下是该操作的完整攻略: 1. 判断目标是否是 Window 对象 判断一个对象是否是 Window 对象,可以通过将该对象与全局的 window 对象进行比较,相关代码如下: function isWindow(obj) { retur…

    JavaScript 2023年6月10日
    00
  • 关于async和await的一些误区实例详解

    关于async和await的一些误区实例详解 引言 async/await是ES7出现的一个对于Promise的更高级别的封装,让我们在JavaScript中编写异步代码变得更加简单和易于理解。然而,由于它是ES7的一个比较新的特性,在使用的时候,有一些容易出现的误区。本篇文章将重点讲述两个易错点的实例,帮助读者能够更好地理解和使用async/await。 …

    JavaScript 2023年5月28日
    00
  • js canvas实现圆形流水动画

    下面是详细的js canvas实现圆形流水动画的攻略: 1. 准备工作 在HTML中,我们需要创建一个canvas元素,用于显示流水效果。 <canvas id="myCanvas"></canvas> 在JavaScript中,我们需要获取该canvas元素,并在其中绘制圆形流水。需要注意:canvas绘图需要在…

    JavaScript 2023年6月10日
    00
  • js文件包含的几种方式介绍

    当我们在编写JS程序时,可能会将不同的JS代码写在不同的文件中,然后在主文件中以某种方式引入这些文件,这被称为JS文件包含。本文将介绍JS文件包含的几种方式和如何使用它们。 1. script标签 最常见的JS文件包含方式是使用script标签引入外部JS文件。这种方式可以在HTML文件中直接使用script标签,并通过src属性引入外部JS文件。下面是一个…

    JavaScript 2023年5月27日
    00
  • js 获取时间间隔实现代码

    获取时间间隔是在 Web 开发中比较常见的需求,例如计算两个时间之间的间隔、统计页面加载时间等,以下是详细的实现代码攻略: 获取当前时间的时间戳 在 JavaScript 中获取当前时间的时间戳可以使用 Date 对象的 getTime() 方法: // 获取当前时间的时间戳(毫秒数) var now = Date.now(); // 或者 var now …

    JavaScript 2023年5月27日
    00
  • 使用JavaScript通过前端发送电子邮件

    下面是“使用JavaScript通过前端发送电子邮件”的完整攻略: 1.准备工作 要通过前端使用JavaScript发送电子邮件,你需要使用邮件服务提供商的API,本文以SendGrid为例进行说明。在使用SendGrid之前,你需要完成以下准备工作: 注册SendGrid账户并创建API密钥 创建一个用于发送邮件的HTML表单 2.获取API密钥 在Sen…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部