📜  如何在 JavaScript 中计算数组中数据类型的数量?(1)

📅  最后修改于: 2023-12-03 15:24:13.415000             🧑  作者: Mango

如何在 JavaScript 中计算数组中数据类型的数量?

在 JavaScript 中计算数组中数据类型的数量有多种方法,下面将介绍其中两种常用的方法。

方法一:使用reduce函数

reduce 函数可以对数组中的每个元素进行指定的操作并将结果汇总成一个单独的值。我们可以使用 reduce 函数遍历数组中的每个元素,统计各个数据类型的数量。

代码如下:

const arr = [1, "hello", 2, "world", true, 3, false, "hello"];

const count = arr.reduce(function (acc, val) {
  let type = typeof val;
  acc[type] = (acc[type] || 0) + 1;
  return acc;
}, {});

console.log(count); // { number: 3, string: 3, boolean: 2 }

这段代码会计算数组 arr 中每种数据类型出现的次数,并将结果存储在一个对象中。

代码片段
const arr = [1, "hello", 2, "world", true, 3, false, "hello"];

const count = arr.reduce(function (acc, val) {
  let type = typeof val;
  acc[type] = (acc[type] || 0) + 1;
  return acc;
}, {});

console.log(count); // { number: 3, string: 3, boolean: 2 }
方法二:使用 Array.isArray 和 typeof

另一种计算数组中数据类型数量的方法是使用 Array.isArray 和 typeof 函数。这种方法包含两个步骤:

  1. 遍历数组并检查每个元素的数据类型。
  2. 根据数据类型计数。

代码如下:

const arr = [1, "hello", 2, "world", true, 3, false, "hello"];

const count = {};

for (let i = 0; i < arr.length; i++) {
  const type = Array.isArray(arr[i]) ? "array" : typeof arr[i];
  count[type] = (count[type] || 0) + 1;
}

console.log(count); // { number: 3, string: 3, boolean: 2 }

这段代码会计算数组 arr 中每种数据类型出现的次数,并将结果存储在一个对象中。

代码片段
const arr = [1, "hello", 2, "world", true, 3, false, "hello"];

const count = {};

for (let i = 0; i < arr.length; i++) {
  const type = Array.isArray(arr[i]) ? "array" : typeof arr[i];
  count[type] = (count[type] || 0) + 1;
}

console.log(count); // { number: 3, string: 3, boolean: 2 }

以上两种方法都可以计算数组中每种数据类型出现的次数。具体使用哪种方法取决于您的代码结构和个人偏好。