有没有办法在不使用下面的循环的情况下找到数组的数据类型组合
var anArray = [
52,
"A string",
new Date(),
"spatula"
],
typeVar,
compOfArray = {};
for (var i in anArray) {
typeVar = typeof anArray[i];
if (!compOfArray[typeVar]) compOfArray[typeVar] = true;
else compOfArray[typeVar] += 1;
}
答案 0 :(得分:0)
不,您可以使用Array.prototype in the console
或检查MDN
答案 1 :(得分:0)
您可以使用reduce
- 函数来构建一个对象,该对象可以跟踪数组中每种类型的数量:
var compOfArray = anArray.reduce(function(a,b){
typeof b in a ? a[typeof b]++ : a[typeof b] = 1;
return a
},{});