我有这个对象,我需要获取属性name
的值以将其分配给变量,以便可以将其用于菜单中的每个选项。这是返回的数据:
“parentArrayOfObjects”: [
{
“data”: {
“current”: {
“id”: 0,
“name”: “Winter”
}
}
},
{
“data”: {
“current”: {
“id”: 0,
“name”: “Spring”
}
}
}
]
使用上述方法,对于每个索引为0的菜单,data.current.name
属性的值都相同,这不是我想要的。请告诉我我在做什么错。谢谢。
// returns same name in all menus
var getCurrentChildPropertyName = (function(){
for (var value in parentArrayOfObjects) {
var currentChildProperty=parentArrayOfObjects[value].data.current;
if( currentChildProperty !== null){
return currentChildProperty.name;
}
}
})();
// returns same name in all menus
var getCurrentChildPropertyName = (function(){
for ( var i = 0; i < parentArrayOfObjects.length; i++) {
var currentChildProperty = parentArrayOfObjects[i].data.current;
if( currentChildProperty !== null){
return currentChildProperty.name;
}
}
})();
// Use different returned name in each menu (ExtJs3)
dataStore.insert(0, [new Ext.data.Record({
id: 0,
name: getCurrentChildPropertyName
})
答案 0 :(得分:1)
const x = {'parentArrayOfObjects': [
{
'data': {
'current': {
'id': 0,
'name': 'Winter'
}
}
},
{
'data': {
'current': {
'id': 0,
'name': 'Spring'
}
}
}
]}
const results = x.parentArrayOfObjects.map((item) => item.data.current.name);
console.log(results); //[ 'Winter', 'Spring' ]