2014-10-17 4 views
0

Я использую sails.js. 1) Я бы хотел напечатать «дельфин» из объекта matchingCol.nodejs execute string variable

var matchingCol = { 
    'card': { 
     'add': { 
      'voo': 'dolphin' 
     } 
    } 
}; 

module.exports = { 

    methodA: function (req, res) { 
     var a = 'card'; 
     var b = 'add'; 
     var c = 'voo'; 
     return res.send(matchingCol.a.b.c); 
    }, 
}; 

2) Если я хотел бы объявить объект, и хотите, чтобы разобрать «Foo» для ключа, как я могу сделать?

var key = 'foo'; 
var params = { 
    key: 'anything' 
}; 

Помогите.

ответ

3

В JavaScript, если у вас есть переменная, которая представляет имя свойства объекта, вы можете использовать квадратные скобки для доступа к нему:

return res.send(matchingCol[a][b][c]); 

Вы также можете использовать квадратные скобки для назначения:

var key = 'foo'; 
var params = {}; 
params[key] = 'anything'; 
+0

спасибо, вы много времени сохраняете, можете ли вы ответить на мой второй вопрос (2)). – vossy

+0

Я расширил свой ответ, чтобы рассмотреть вторую часть вашего вопроса. – zeroviscosity

+0

Спасибо, это работает. – vossy