Javascript 将键和值对分隔为两个数组

Javascript 将键和值对分隔为两个数组,javascript,arrays,key,Javascript,Arrays,Key,将键和值分离为两个不同数组的最佳方法是什么- 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 = [], data

将键和值分离为两个不同数组的最佳方法是什么-

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
    没有显式地具有此属性(即原型链上没有更高的属性),则跳过此迭代
  • 将键及其值按到各自的数组中

  • .

    此函数将
    数据
    对象拆分为键和值数组。它返回一个包含两个数组的对象

    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};
    }
    

    您可以使用
    for in
    循环遍历属性,然后根据需要将它们分配给数组

    确保检查键是否是对象的属性,而不是原型的属性

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

    这个怎么样<代码>变量数据={“一个键”:34,“另一个键”:16,“最后一个键”:10};var data1=Object.keys(数据);var data2=对象值(数据)
    var data1 = [];
    var data2 = [];
    
    for (var key in p) {
      if (p.hasOwnProperty(key)) {
        data1.push(key);
        data2.push(p[key]);
      }
    }