JSFiddle - React, Tailwind, and code Playground

HTML

<div class="test"></div>
<div class="test"></div>
<div class="test"></div>

JavaScript

var x = document.getElementsByClassName("test");
var y = x[0];

console.log(isArrayLike(x));                   // returns false
console.log(typeof x.attributes == "undefined"); // returns true

console.log(isArrayLike(y));                   // returns false
console.log(typeof y.attributes == "undefined"); // returns false


function isArrayLike(o) {
    if (o &&                                // o is not null, undefined, etc.
        typeof o === "object" &&            // o is an object
        isFinite(o.length) &&               // o.length is a finite number
        o.length >= 0 &&                    // o.length is non-negative
        o.length===Math.floor(o.length) &&  // o.length is an integer
        o.length < 4294967296)              // o.length < 2^32
        return true;                        // Then o is array-like
    else
        return false;                       // Otherwise it is not
}