为了账号安全,请及时绑定邮箱和手机立即绑定

无法获取数组内的信息

无法获取数组内的信息

至尊宝的传说 2019-04-17 18:15:56
我正在尝试获取数组内部但不能的信息,每次都返回一个未定义的语句。那是数组,它在变量'RESULTADO'里面debug   {"recordType":"customrecord5",          "id":"1",          "values":{            "CUSTRECORD4.custrecord6":[{"value":"11",                                        "text":"11 CP BUSINESS : Empresa Teste"}],            "CUSTRECORD4.custrecord5":[{"value":"7",                                        "text":"LASER"}]}}码:for (var i = 0; i < resultado.length; i++){     var valores = resultado[i];     log.debug(valores);     var dados = valores['value']; // NAO ESTOU CONSEGUINDO PERCORRER A VARIAVEL DADOS      log.debug(dados);     for (var u = 0; u < dados.length; u++){         valor = dados[u];         log.debug(valor);     }}我需要获取索引'值'内的信息,但不能进入.....
查看完整描述

2 回答

?
达令说

TA贡献1821条经验 获得超6个赞

这是因为您拥有的数据不是Array,而是Object。

好吧,JS对象也被称为“关联阵列”,但它们有很多不同的行为。它们的结构为“KVP”键值对{KEY:VALUE}

要迭代一个对象,你必须使用不同类型的循环,如for / in循环。

let resultado = {
   "recordType": "customrecord5",
   "id": "1",
   "values": {
      "CUSTRECORD4.custrecord6": [{"value": "11", "text": "11 CP BUSINESS : Empresa 
       Teste"}],
      "CUSTRECORD4.custrecord5": [{"value": "7", "text": "LASER"}]
   }};for (let KEY in resultado) {
   console.log(KEY); // recordType, id, values
   console.log(resultado[KEY]); // customrecord5, 1, {...}}

或者你可以把它变成数组

let resultadoArr = Object.entries(resultado);console.log(resultadoArr);// [ [ 'recordType', 'customrecord5' ],//  
 [ 'id', '1' ],//   [ 'values',//     { 'CUSTRECORD4.custrecord6': [Object],//    
    'CUSTRECORD4.custrecord5': [Object] } ] ]

还有一个建议,使用'let'和'const'代替'var'。这是现在的新标准。

我希望我有所帮助


查看完整回答
反对 回复 2019-05-17
  • 2 回答
  • 0 关注
  • 431 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号