代码之家  ›  专栏  ›  技术社区  ›  Aravind S

javascript:获取对象属性的值

  •  -3
  • Aravind S  · 技术社区  · 6 年前

    我尝试获取对象所有属性的值,并尝试使用 Object.values() 我只是在控制台里:

    var a=queryplan.combo.getfiltermapofidtowgt(); console.log(object.values(a));

    [constructor]
    

    但它实际上包含了很多价值观:

    [constructor]
    0:constructor
    activeErrorsTpl:(8) ["<tpl if="errors && errors.length">", "<ul class="{listCls}">", "<tpl if="Ext.enableAria">", "<tpl if="fieldLabel"><div>{fieldLabel}</div></tpl>", "</tpl>", "<tpl for="errors"><li>{.}</li></tpl>", "</ul>", "</tpl>"]
    activeUI:"default"
    autoGenId:true
    auxStore:constructor {removed: Array(0), blockLoadCounter: 0, isInitializing: false, initConfig: ƒ, initialConfig: {…}, …}
    bindings:[]
    bodyEl:constructor {dom: div#hemonth-1050-bodyEl.x-form-item-body.x-form-item-body-default.x-form-text-field-body.x-form-text…, id: "hemonth-1050-bodyEl", el: constructor, initConfig: ƒ, initialConfig: {…}, …}
    

    我正在尝试访问这些值中的每一个。有可能拿到吗?如果有,我怎么拿到? 非常感谢您的帮助,并提前表示感谢。

    2 回复  |  直到 6 年前
        1
  •  1
  •   MystyxMac    6 年前

    ES6型+

    for..of 循环:

    var myArray = [ 1, 2, 3 ];
    
    for (var v of myArray) {
       console.log( v );
    }
    // 1
    // 2
    // 3
    

    ES6之前

    for

    var myArray = [1, 2, 3];
    
    for (var i = 0; i < myArray.length; i++) {
        console.log( myArray[i] );
    }
    // 1 2 3
    
        2
  •  0
  •   Isaac    6 年前

    let obj = {
      key1: 'val1',
      print: (x) => { console.log(x)}
    }
    
    for(var attr in obj){
      
    	if(typeof obj[attr] == 'function'){
      	obj[attr]('123');
      }
      
      if(typeof obj[attr] == 'string'){
      	console.log('hi attr is:',attr, 'with value:',obj[attr])
      }
    }

    如果不共享对象的外观,这里我将创建示例对象,以及如何循环访问属性并使用它们。如果你想对你的问题有一个更具体的答案,把它们包括在你的问题中。