js获取对象、数组的实际长度,元素实际个数的实现代码

获取对象、数组的实际长度和元素实际个数是 JavaScript 开发中常见的需求,下面是实现代码的完整攻略。

获取对象实际长度的代码

JavaScript 中获取对象实际长度的方法与获取数组长度的方法是相似的,可以利用 Object.keys() 函数和 for...in 循环来实现。这里我们提供两种方法:

方法一:利用 Object.keys() 函数

const obj = {
  name: 'John',
  age: 25,
  gender: 'Male'
};

const objLength = Object.keys(obj).length;
console.log(objLength);  // 输出 3

使用 Object.keys() 函数可以将对象的属性名转化为一个包含属性名的数组,数组的长度就是对象实际包含属性的个数。

方法二:利用 for...in 循环

const obj = {
  name: 'John',
  age: 25,
  gender: 'Male'
};

let objLength = 0;
for (let key in obj) {
  if (obj.hasOwnProperty(key)) {
    objLength++;
  }
}
console.log(objLength);  // 输出 3

使用 for...in 循环可以遍历对象的属性名,只要判断属性名是否属于对象,就可以得到对象的实际长度。

获取数组实际长度、元素个数的代码

获取数组实际长度的方法很简单,可以利用 JavaScript 内置的 length 属性。但是如果想获得数组的实际元素个数,需要注意区分数组内的 undefinednull 等空值的情况。以下是实现代码:

const arr = [1, 2, , 4, null, undefined, 7];

const arrLength = arr.length;
console.log(arrLength);  // 输出 7(包含 undefined)

let elementCount = 0;
arr.forEach((item) => {
  if (item !== null && item !== undefined) {
    elementCount++;
  }
});
console.log(elementCount);  // 输出 5

可以使用数组的 forEach() 方法遍历数组,然后判断数组元素是否为空值,从而获得实际元素个数。

另外,如果需要过滤数组中的空值,可以使用数组的 filter() 方法:

const arr = [1, 2, , 4, null, undefined, 7];

const filterArr = arr.filter((item) => {
  return item !== null && item !== undefined;
});
console.log(filterArr);  // 输出 [1, 2, 4, 7]

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js获取对象、数组的实际长度,元素实际个数的实现代码 - Python技术站

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

相关文章

  • java中文乱码之解决URL中文乱码问题的方法

    Java中文乱码之解决URL中文乱码问题的方法 在Java的开发中,经常会遇到中文乱码问题,其中URL中文乱码是开发者较为常见的问题之一,本篇文章将详细介绍Java中解决URL中文乱码方法。 URL中文乱码问题的原因 中文字符在计算机中以二进制流的形式存储,而URL中只能包含ASCII码字符,当URL中包含中文字符时,需要进行转换成编码形式,常用的包括URL…

    JavaScript 2023年5月19日
    00
  • vue使用prop可以渲染但是打印台报错的解决方式

    在Vue中,组件间的数据传递是通过props进行的。然而,有时候我们会在控制台看到如下的错误信息: [Vue warn]: Invalid prop: type check failed for prop “xxx”. Expected xxx, got xxx. 这个错误信息通常是由于在传递过程中,子组件收到的props数据类型与它预期的不符,或者缺少必要…

    JavaScript 2023年6月11日
    00
  • javascript表单验证使用示例(javascript验证邮箱)

    下面就为您详细讲解“javascript表单验证使用示例(javascript验证邮箱)”的完整攻略。 一、表单验证的基本原理 表单验证是指对用户提交的表单数据进行校验,以保证数据的合法性和完整性。在前端开发中,常用的表单验证方式包括: HTML表单验证:利用HTML表单的标准属性和属性值,来对表单数据进行校验和限制; javascript表单验证:利用ja…

    JavaScript 2023年6月10日
    00
  • HTML5 Web Worker(多线程处理)

    HTML5 Web Worker是HTML5提供的一种多线程处理机制,可以将JavaScript代码分离到后台线程中运行,不会影响到页面的性能和响应速度。在本文中,我们将介绍如何使用HTML5 Web Worker,包括基本使用方法、Web Worker与主线程通信、Web Worker之间的通信和错误处理。 基本使用方法 基本使用方法如下: 创建一个新的W…

    JavaScript 2023年5月28日
    00
  • JS获取url链接字符串 location.href

    获取当前网页的URL链接字符串是一个常见的需求,而在JavaScript中,我们可以通过location.href属性来实现。 location.href是一个字符串,包含当前页面的完整URL。你可以直接打印location.href来查看当前页面的URL。 示例一:获取当前页面的URL并显示在页面上 <!DOCTYPE html> <ht…

    JavaScript 2023年6月11日
    00
  • JS中的三个循环小结

    JS中有三个循环语句:for循环、while循环和do-while循环。这三个循环语句都能够让我们方便地对数组或对象进行遍历,执行重复的操作。 1. for循环 for循环是JS中最常用的循环语句之一,能够让你重复执行一个操作多次,for循环含有三个表达式:起始表达式、终止表达式和递增表达式。 语法: for (起始表达式; 终止表达式; 递增表达式) { …

    JavaScript 2023年6月10日
    00
  • 详解微信小程序用定时器实现倒计时效果

    下面是详解微信小程序用定时器实现倒计时效果的完整攻略。 步骤一:引入moment.js库 我们需要使用moment.js库来处理日期和时间。在小程序的App.js文件中引入moment.js库,代码如下: // 引入moment.js库 const moment = require(‘./libs/moment.min.js’); // 将moment.js…

    JavaScript 2023年6月11日
    00
  • 如何利用JavaScript 实现继承

    关于如何利用JavaScript实现继承的完整攻略,下面是详细的说明和示例。 什么是继承 在面向对象的编程语言中,继承是一种重要的特性,它允许创建新类(子类)从已有的类(基类或父类)中派生出来。子类可以继承父类的属性和方法,也可以通过重载和覆盖来对父类的方法进行修改。 在JavaScript中,对象之间没有一个类明确的概念,但是我们可以使用原型链来实现继承的…

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