How to check if an object is an array?

后端 未结 30 2955
名媛妹妹
名媛妹妹 2020-11-21 06:31

I\'m trying to write a function that either accepts a list of strings, or a single string. If it\'s a string, then I want to convert it to an array with just the one item so

30条回答
  •  一向
    一向 (楼主)
    2020-11-21 07:11

    Here's my lazy approach:

    if (Array.prototype.array_ === undefined) {
      Array.prototype.array_ = true;
    }
    
    // ...
    
    var test = [],
        wat = {};
    
    console.log(test.array_ === true); // true
    console.log(wat.array_ === true);  // false
    

    I know it's sacrilege to "mess with" the prototype, but it appears to perform significantly better than the recommended toString method.

    Note: A pitfall of this approach is that it wont work across iframe boundaries, but for my use case this is not an issue.

提交回复
热议问题