What would be the best way to go about separating the key and values into two different arrays so that this -
var data = {\"A Key\": 34, \"Another Key\": 16
You can loop through the properties with a for in
loop, and then just assign them to arrays as needed.
Make sure you check whether the key is a property of the object, and not of the prototype.
var data1 = [];
var data2 = [];
for (var key in p) {
if (p.hasOwnProperty(key)) {
data1.push(key);
data2.push(p[key]);
}
}
var data = {"A Key": 34, "Another Key": 16, "Last Key": 10};
var data1 = [],
data2 = [];
for (var property in data) {
if ( ! data.hasOwnProperty(property)) {
continue;
}
data1.push(property);
data2.push(data[property]);
}
data
does not have this property explicitly (i.e. not higher up the prototype chain), skip this iteration.jsFiddle.
data1=[];
data2=[]
for (x in data) {
data1.push(x);
data2.push(data[x]);
}
This function will split the data
object into a keys and a values array. It returns an object, containing both arrays.
function splitObj(data){
var keys = [],
vals = [];
for (var l in data) {
if (data.hasOwnProperty(l){
keys.push(l);
vals.push(data[l]];
}
}
return {keys: keys,vals:vals};
}