test array/objects

by Jeremy Bolanos

HTML

<div id="output"/>

JavaScript

var myValues = {"something": "do something obj", "nothing": "do nothing obj"};
var myArray = ['do something arr', 'do nothing arr'];
var myString = "this is nothing";

function setValues(vals) {
    var o = document.getElementById('output');
    var outPut =  {
        'array': function(vals) {
            for(var i = 0; i < vals.length; i++) {
                var newDiv = document.createElement('div');
                newDiv.appendChild(document.createTextNode(vals[i]));
                o.appendChild(newDiv);
            }
        },
        'object': function(vals) {
            for(var key in vals) {
                var newDiv = document.createElement('div');
                newDiv.appendChild(document.createTextNode(vals[key]));
                o.appendChild(newDiv);
            }
        },
        'other': function(vals) {
            return false;
        }
    }[testArray(vals)](vals);
}

function testArray(obj) {
    var isObject = (typeof obj === 'object');
    var isArray = (Array.isArray(obj));
    if(isObject && isArray) {
        return 'array';
    }else if(isObject && !isArray) {
        return 'object';
    }else if(!isObject) {
        return 'other';
    }
}

setValues(myValues);
setValues(myArray);
setValues(myString);