使用JavaScript计算关联数组的长度

使用JavaScript计算关联数组的长度

在JavaScript中,我们有普通数组,其中元素位于特定的索引位置。而 关联数组 实际上是JavaScript中的 对象 ,其中索引被用户定义的键替代。基本上可以说它存储 键值对

语法:

let arr = { key1: 'value'1, key2: 'value2', key3: 'value3'}

在这里,arr是关联数组,key1、key2和key3是它的索引,value1、value2和value3是它的元素。

示例: 这是关联属性的基本示例。

JavaScript

let arr = {
    "apple": 10,
    "grapes": 20
};
arr["guava"] = 30;
arr["banana"] = 40;
console.log("Apple = " + arr.apple)
console.log("Banana = " + arr.banana)

输出

Apple = 10
Banana = 40

关联数组的长度: 与普通数组一样,关联数组没有长度属性。因此,我们将看到计算关联数组长度的其他方法。

要计算关联数组的长度,我们将遍历数组元素并计算数组中存在的所有键的个数。

我们可以用以下方式计算关联数组的长度:

  • 使用hasOwnProperty方法和for…in循环
  • 使用keys方法
  • 使用Object.entries()方法

方法1:使用hasOwnProperty和for…in循环

  • 使用for…in循环,我们可以遍历对象。
  • 通过检查obj.hasOwnProperty(key),我们可以检测到只计算自有属性(不包括继承的属性)。
  • 每次找到自有属性时,增加size变量的值,该变量表示关联数组的长度。

示例:

Javascript

// Function to calculate the 
// length of an array
sizeOfArray = function (array) {
 
    // A variable to store 
    // the size of arrays
    let size = 0;
 
    // Traversing the array
    for (let key in array) {
 
        // Checking if key is present
        // in arrays or not
        if (array.hasOwnProperty(key)) {
            size++;
        }
    }
 
    // Return the size
    return size;
}
 
// Driver code
let arr = { "apple": 10, "grapes": 20 };
arr["guava"] = 30;
arr["banana"] = 40;
 
// Printing the array
console.log(arr);
 
// Printing the size
console.log("size = " + sizeOfArray(arr));
 
// Adding another element to array
arr["fruits"] = 100;
 
// Printing the array and size again
console.log(arr);
console.log("Size = " + sizeOfArray(arr));

输出

{ apple: 10, grapes: 20, guava: 30, banana: 40 }
size = 4
{ apple: 10, grapes: 20, guava: 30, banana: 40, fruits: 100 }
Size = 5

方法2:使用keys() 方法

keys() 方法返回一个包含所有关联数组中键的数组。因此,我们可以使用这个数组的length属性来获取关联数组的长度。

示例:

Javascript

let arr = { "apple": 10, "grapes": 20 };
arr["guava"] = 30;
arr["banana"] = 40;
 
// Printing the array 
// returned by keys() method
console.log(Object.keys(arr))
 
// printing the size
console.log("Size = " + Object.keys(arr).length)

输出

[ 'apple', 'grapes', 'guava', 'banana' ]
Size = 4

方法3:

使用 Object.entries() 方法

JavaScript 的 Object.entries() 方法用于返回一个由对象的可枚举属性[key, value]对组成的数组,这些对象作为参数传递。通过使用 length 属性,我们可以计算关联数组的长度。

示例:

Javascript

let obj = { key1: '1', 
            key2: '2', 
            key3: '3' };
 
let length = Object.entries(obj).length;
 
console.log(length);

输出

3

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程