2015-06-24 5 views
-1

Представьте У меня есть объект, как:Получение Javascript свойства объекта по имени

var obj = { 
    name: { 
    value: 'Sergio' 
    }, 
    lastName: { 
    value: 'Tapia' 
    } 
} 

Я хочу создать функцию, которая захватывает value данного имущества.

В идеале:

console.log(getProperty(obj, 'name')); 
=> 'Sergio' 

console.log(getProperty(obj, 'lastName')); 
=> 'Sergio' 
+1

В чем конкретно возникают проблемы при этом? –

ответ

2

Вы можете использовать кронштейн обозначения для доступа к свойству на объекте. Ваша функция будет:

function getProperty(obj, property) { 
    return obj[property].value; 
} 

я бы, вероятно, назвать его getProperyValue вместо этого.

+0

Подождите, вам нужно '.value'? Это даже верно? Просто попробовал, и он, похоже, не работает. Но 'return obj [key]' does. – AmmarCSE

+0

@AmmarCSE вы посмотрели на свой пример объекта в верхней части его вопроса? – Cymen

+0

:) моя ошибка. Извините – AmmarCSE

0
function getProperty(obj,property){ 
    return obj[property].value; 
} 
0

Эта функция должна помочь вам в достижении того, что вам нужно.

function getProperty(obj, key){ 
    return obj[key].value; 
} 

Я считаю

console.log(getProperty(obj, 'lastName')); 

должен вернуть 'Тапиа', а не 'Серджио'.

+0

Нет необходимости в фрагментах стека, если ваш код ничего не делает. Делает запись легче читать. –

+0

Спасибо @FelixKling. В этом есть смысл :) –

Смежные вопросы