将键和值对分成两个数组

| 将键和值分成两个不同的数组的最佳方法是什么,因此这-
var data = {\"A Key\": 34, \"Another Key\": 16, \"Last Key\": 10};
会变成这个-
data1 = [\"A Key\", \"Another Key\", \"Last Key\"];
data2 = [34, 16, 10];
谢谢。     
已邀请:
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
没有显式具有此属性(即,不在原型链的更高位置),请跳过此迭代。 将键及其值推入各自的数组。 jsFiddle。     
此函数会将“ 3”对象拆分为一个键和一个值数组。它返回一个包含两个数组的对象。
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};
}
    
data1=[];
data2=[]
for (x in data) {
   data1.push(x);
   data2.push(data[x]);
}
    
您可以使用
for in
循环遍历属性,然后根据需要将它们分配给数组。 确保检查键是否是对象的属性,而不是原型的属性。
var data1 = [];
var data2 = [];

for (var key in p) {
  if (p.hasOwnProperty(key)) {
    data1.push(key);
    data2.push(p[key]);
  }
}
    

要回复问题请先登录注册