获取对象、数组的实际长度和元素实际个数是 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
属性。但是如果想获得数组的实际元素个数,需要注意区分数组内的 undefined
和 null
等空值的情况。以下是实现代码:
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技术站