📅  最后修改于: 2023-12-03 15:24:13.415000             🧑  作者: Mango
在 JavaScript 中计算数组中数据类型的数量有多种方法,下面将介绍其中两种常用的方法。
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 函数。这种方法包含两个步骤:
代码如下:
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 }
以上两种方法都可以计算数组中每种数据类型出现的次数。具体使用哪种方法取决于您的代码结构和个人偏好。