我试图获取对象的所有属性的值,并且尝试使用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: {…}, …}
我正在尝试访问每个值。有可能得到它,如果是,我如何得到它? 非常感谢您的帮助并提前致谢。
答案 0 :(得分:1)
ES6 +
如果您使用ES6 +,则可以使用for..of
循环:
var myArray = [ 1, 2, 3 ];
for (var v of myArray) {
console.log( v );
}
// 1
// 2
// 3
for..of
循环直接在对象的属性值上进行迭代。
PRE-ES6
对于ES6之前的版本,您可以使用标准的for
循环:
var myArray = [1, 2, 3];
for (var i = 0; i < myArray.length; i++) {
console.log( myArray[i] );
}
// 1 2 3
答案 1 :(得分:0)
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])
}
}
在没有共享对象的情况下,这里我将创建示例对象以及如何遍历属性并使用它们。如果您希望对问题有更具体的答案,请将其包含在您的问题中