Flattening single item arrays test

This needed to be tested so it could be used in production code.

by Matt Rummler

JavaScript

function flattenSingleItemArray(data)
{
  if(Object.toType(data)==='array')
  {
      alert('data was found to be an array');
   if(data.length==1)
    {
        alert('data was found to have a length of 1');
        alert('object properties prior to flattening: '+Object.getOwnPropertyNames(data)+' And now datatype before: '+Object.toType(data));
      moreFlatData=data[0];
        alert('object properties after flattening: '+Object.getOwnPropertyNames(moreFlatData)+' And now datatype after: '+Object.toType(moreFlatData));
      return moreFlatData;
    }
    else
    {
      return false;
    }
  } 
}

Object.toType = (function toType(global)
{
  return function(obj) 
  {
    if (obj === global) 
    {
      return "global";
    }
    return ({}).toString.call(obj).match(/\s([a-z|A-Z]+)/)[1].toLowerCase();
  };
})(this);



var TestObject={item1:'value1',item2:'value2',item3:'value3'};
var testArray=['arrayItem1','arrayItem2','arrayItem3','arrayItem4','arrayItem5'];
var topLevelBoundingArray=[{secondLevelBoundingArray:[{key1:'value1',key2:'value2',key3:'value3'}]}];
//var objKeysArray=Object.keys(TestObject);

//alert('object length: '+objKeysArray.length);
//alert('object length a different way: '+Object.keys(TestObject).length);
//alert('array length: '+testArray.length);

var shallowArray=['singleItem'];
var returnFromFlatten=null;
returnFromFlatten=flattenSingleItemArray(topLevelBoundingArray);
if(returnFromFlatten)
{
  alert('the return from the array to be flattened: '+returnFromFlatten);
}
else
{
  alert('returnFromFlatten has a false value');
}