code: function isArray(obj) {
      if (!obj || obj.setInterval) {
        return false;
      }
      if (Array.isArray(obj)) {
        return true;
      }
      if (_emberRuntimeMixinsArray.default.detect(obj)) {
        return true;
      }
  
      var type = typeOf(obj);
      if ('array' === type) {
        return true;
      }
      if (obj.length !== undefined && 'object' === type) {
        return true;
      }
      return false;
    }
docs: Returns true if the passed object is an array or Array-like.
  
  Objects are considered Array-like if any of the following are true:
  
  - the object is a native Array
  - the object has an objectAt property
  - the object is an Object, and has a length property
  
  Unlike `Ember.typeOf` this method returns true even if the passed object is
  not formally an array but appears to be array-like (i.e. implements `Ember.Array`)
  
  ```javascript
  Ember.isArray();                                          // false
  Ember.isArray([]);                                        // true
  Ember.isArray(Ember.ArrayProxy.create({ content: [] }));  // true
  ```
  
  @method isArray
  @for Ember
  @param {Object} obj The object to test
  @return {Boolean} true if the passed object is an array or Array-like
  @public