簡體   English   中英

將鍵和值對分成兩個數組

[英]Separate key and value pairs into two arrays

什么是將鍵和值分成兩個不同數組的最佳方法,以便 -

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]);

}
  1. 設置兩個不同的空白數組。
  2. 迭代對象的可枚舉屬性。
  3. 如果data沒有顯式地具有此屬性(即不高於原型鏈),請跳過此迭代。
  4. 將鍵及其值推送到各自的數組。

jsFiddle

此函數將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};
}
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]);
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM