2016-09-17 186 views
-2

我正在跟随javascript数组,我需要通过键获取该数组的值。任何建议将不胜感激。如何通过键中的键获取数组值键值

[Object { 5=7224}, Object { 10=7225}, Object { 25=7226}, Object { 50=7227}] 

我已经创建了下面的代码 -

'payment_tariff': { 
    4142: 
     { 
      1: [{1: 7223}], 
      2: [{5: 7224}, {10: 7225}, {25: 7226}, {50: 7227}], 
      3: [{10: 7228}, {20: 7229}, {50: 7230}, {100: 7231}], 
      4: [{25: 7232}, {50: 7233}, {100: 7234}, {250: 7235}], 
      5: [{25: 7236}, {50: 7237}, {100: 7238}, {250: 7239}] 
     } 
    , 
    4130: 
     { 
      1: [{1: 7132}], 
      2: [{5: 7133}, {10: 7134}, {25: 7135}, {50: 7136}], 
      3: [{10: 7137}, {25: 7138}, {50: 7139}, {100: 7140}], 
      4: [{25: 7141}, {50: 7142}, {100: 7143}, {250: 7144}], 
      5: [{25: 7145}, {50: 7146}, {100: 7147}, {250: 7148}] 
     } 
    , 
    4133: 
     { 
      1: [{1: 7166}], 
      2: [{5: 7167}, {10: 7168}, {25: 7169}, {50: 7170}], 
      3: [{10: 7171}, {25: 7172}, {50: 7173}, {100: 7173}], 
      4: [{25: 7174}, {50: 7175}, {100: 7176}, {250: 7177}], 
      5: [{25: 7178}, {50: 7179}, {100: 7180}, {250: 7181}] 
     } 
    , 
    4134: 
     { 
      1: [{1: 7188}], 
      2: [{5: 7189}, {10: 7190}, {25: 7191}, {50: 7192}], 
      3: [{10: 7193}, {25: 7194}, {50: 7195}, {100: 7298}], 
      4: [{25: 7197}, {50: 7198}, {100: 7199}, {250: 7200}], 
      5: [{25: 7201}, {50: 7202}, {100: 7203}, {250: 7204}] 
     } 
    , 
    4135: 
     { 
      1: [{1: 7206}], 
      2: [{5: 7207}, {10: 7208}, {25: 7209}, {50: 7210}], 
      3: [{10: 7211}, {25: 7212}, {50: 7213}, {100: 7214}], 
      4: [{25: 7215}, {50: 7216}, {100: 7217}, {250: 7218}], 
      5: [{25: 7219}, {50: 7220}, {100: 7221}, {250: 7222}] 
     } 

} 

我越来越payment_tariff的键

例如动态值,我需要得到键5,其中关键是有些价值的值将被进一步处理。

+0

唯一键?这很痛苦。这是你可以改变的东西,还是它不在你的控制之下? – 2016-09-17 19:14:33

+0

使用计算索引'[']' – Hydro

+0

鉴于** payment_tariff **您的预期结果是什么? – JonSG

回答

0

我仍然不能100%确定你想要的结果是什么,但我想给payment_tariff和两个值(4142和2),你想要的按键阵列从这些值标识的对象数组中。

我更新了演示,返回一个键和值的数组,因为我怀疑你可能想要。如果这不是您寻求的结果,请指定,确切地说结果是您寻找的结果。中的每个对象

var data = { 
 
    'payment_tariff': { 
 
    4142: { 
 
     1: [{1: 7223}], 
 
     2: [{5: 7224}, {10: 7225}, {25: 7226}, {50: 7227}], 
 
     3: [{10: 7228}, {20: 7229}, {50: 7230}, {100: 7231}], 
 
     4: [{25: 7232}, {50: 7233}, {100: 7234}, {250: 7235}], 
 
     5: [{25: 7236}, {50: 7237}, {100: 7238}, {250: 7239}] 
 
    }, 
 
    4130: { 
 
     1: [{1: 7132}], 
 
     2: [{5: 7133}, {10: 7134}, {25: 7135}, {50: 7136}], 
 
     3: [{10: 7137}, {25: 7138}, {50: 7139}, {100: 7140}], 
 
     4: [{25: 7141}, {50: 7142}, {100: 7143}, {250: 7144}], 
 
     5: [{25: 7145}, {50: 7146}, {100: 7147}, {250: 7148}] 
 
    }, 
 
    4133: { 
 
     1: [{1: 7166}], 
 
     2: [{5: 7167}, {10: 7168}, {25: 7169}, {50: 7170}], 
 
     3: [{10: 7171}, {25: 7172}, {50: 7173}, {100: 7173}], 
 
     4: [{25: 7174}, {50: 7175}, {100: 7176}, {250: 7177}], 
 
     5: [{25: 7178}, {50: 7179}, {100: 7180}, {250: 7181}] 
 
    }, 
 
    4134: { 
 
     1: [{1: 7188}], 
 
     2: [{5: 7189}, {10: 7190}, {25: 7191}, {50: 7192}], 
 
     3: [{10: 7193}, {25: 7194}, {50: 7195}, {100: 7298}], 
 
     4: [{25: 7197}, {50: 7198}, {100: 7199}, {250: 7200}], 
 
     5: [{25: 7201}, {50: 7202}, {100: 7203}, {250: 7204}] 
 
    }, 
 
    4135: { 
 
     1: [{1: 7206}], 
 
     2: [{5: 7207}, {10: 7208}, {25: 7209}, {50: 7210}], 
 
     3: [{10: 7211}, {25: 7212}, {50: 7213}, {100: 7214}], 
 
     4: [{25: 7215}, {50: 7216}, {100: 7217}, {250: 7218}], 
 
     5: [{25: 7219}, {50: 7220}, {100: 7221}, {250: 7222}] 
 
    } 
 
    } 
 
}; 
 

 
var result = data.payment_tariff[4142][2].map(function(item){ 
 
    var key = Object.keys(item)[0]; 
 
    return { "key": key, "value": item[key] }; 
 
}); 
 

 
console.log(result);

+0

谢谢,我想要相同的 –

0

你可以得到字段列表数组像这样的对象(键):

var keys = Object.keys(payment_tariff); 
for(var i in keys) { 
    var key_name = keys[i]; 
    console.log(key_name + " = " + payment_tariff[key_name]); 
} 

OBS:payment_tariff是你的变量/对象/数组的名称;

这里更多:Mozilla Documentation

+0

的价值感谢Edgard Leal的快速​​响应。我编辑了这个问题,请检查一次我的代码 –