为什么在console.log之后没有调用Javascript

时间:2016-03-14 02:10:00

标签: javascript typeof

我正在尝试创建一个console.log对象或数组类型

的函数
function whichDataStructure (ITEM){

     if (typeof  ITEM ==='object'){
        console.log ('I am object');
   } if (typeof  ITEM === 'array') {
    console.log ('i am array');

   } else {
    console.log(' neither');


  }
};

1 个答案:

答案 0 :(得分:1)

在Javascript中Arrays实际上是一种对象。

您必须使用Array.isArray()函数来确定某个值是否为数组:

function whichDataStructure(item) {
    if (Array.isArray(item)) {
        console.log('I am an Array');
    } else if (typeof item === 'object'){
        console.log('I am an Object');
    } else {
        console.log('I am of type: ' + typeof item);
    }
};

如果它是一个Object,那么在测试之前测试值是否为Array 非常重要。否则它将永远被视为一个对象。