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日

相关文章

  • JavaScript利用多彩线条摆出心形效果的示例代码

    下面我来详细讲解JavaScript利用多彩线条摆出心形效果的示例代码的完整攻略。 简介 本示例代码利用了HTML5中的<canvas>标签和JavaScript的requestAnimationFrame()方法,通过不断绘制直线最终呈现出心形效果。代码较为简单,但需要一定的数学基础。 准备工作 在HTML页面中添加一个<canvas&g…

    JavaScript 2023年6月10日
    00
  • 获取当前月(季度/年)的最后一天(set相关操作及应用)

    获取当前月(季度/年)的最后一天,是一项非常实用的时间操作,可以用来生成各种类型的报表或实现预测功能。下面是完整的攻略: 获取当前月的最后一天 获取当前月的最后一天比较简单,可以用JS内置的Date对象来实现: const now = new Date(); const year = now.getFullYear(); const month = now.…

    JavaScript 2023年6月10日
    00
  • JS基于贪心算法解决背包问题示例

    JS基于贪心算法解决背包问题示例 什么是贪心算法 贪心算法是一种直接寻求局部最优解以达到全局最优的算法,即采取贪心策略,每次做出当时看来最好的选择,不考虑将来的结果,也不进行回溯,只关心眼前的选择会不会对当前局面产生最优的影响。贪心算法的特点是简单、高效、易于证明正确性,并且常用于求解组合优化问题,如背包问题、最小生成树问题、哈夫曼编码等。 背包问题 背包问…

    JavaScript 2023年5月28日
    00
  • javascript实现阻止iOS APP中的链接打开Safari浏览器

    要在iOS APP中实现阻止链接打开Safari浏览器的功能,可以通过以下方法实现: 1. 使用JavaScript 通过JavaScript代码可以控制链接的行为,让其在当前页面打开,而不是打开一个新的Safari浏览器页面。具体的代码实现如下: // 拦截所有超链接打开 safari document.addEventListener(‘click’, …

    JavaScript 2023年6月11日
    00
  • JavaScript比较同一天的时间大小实例代码

    在JavaScript中,可以使用Date对象来比较同一天的时间大小。以下是完整的攻略。 1. 创建Date对象 在比较和取得时间大小之前,需要先创建两个不同的Date对象表示不同的时间。可以使用以下方式创建Date对象: const date1 = new Date(‘2021-11-01 12:00:00’); const date2 = new Dat…

    JavaScript 2023年5月27日
    00
  • JavaScript Array对象扩展indexOf()方法

    JavaScript中的Array对象是非常常用的一种数据结构,它是一种有序的集合,可以存储多个数据类型的值。indexOf()是Array对象中的一个方法,用于查找指定元素在数组中第一次出现的位置。但是,它并不是一个完美的方法,因为它无法处理“NaN”以及“+0”与“-0”如何处理的问题。 为了解决这些问题,我们可以采用一些技巧来修改Array对象的ind…

    JavaScript 2023年6月10日
    00
  • node.js Web应用框架Express入门指南

    Node.js Web应用框架Express入门指南 Express是基于Node.js开发的Web应用框架,它提供了一组API来帮助开发者快速地创建Web应用程序。本指南将介绍如何入门使用Express,包括安装、配置、路由、模板引擎等方面的内容。 安装Express 首先需要安装Node.js和npm。安装完成后,可打开终端窗口,输入以下命令安装Expr…

    JavaScript 2023年5月27日
    00
  • JS敏感词过滤代码

    JS敏感词过滤代码是在前端使用JS实现对输入内容进行敏感词的过滤,以保证输入内容的合规和安全。 以下是JS敏感词过滤代码的完整攻略: 前置知识 正则表达式:JS敏感词过滤涉及到正则表达式的使用,需要了解正则表达式的使用方法。 JS基础语法:需要掌握JS基础语法,包括变量定义、函数定义等。 过程说明 第一步:定义敏感词列表 首先需要定义一个敏感词列表,用于保存…

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