javascript - 在循环中找到数组中数据类型的组合

时间:2017-01-21 00:10:44

标签: javascript arrays

有没有办法在不使用下面的循环的情况下找到数组的数据类型组合

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;
}

2 个答案:

答案 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
},{});