2016-07-06 2 views
0

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

var row = { 
       'fileAttribute' : { 
        '.\K\ar- #%i\.n/a': true, 
        'size': '2040', 
        'type' : 'pdf' 
        } 
    }; 

Но когда я пытаюсь получить значение row.fileAttribute [ '\ K \ ар- #% в/а. ], Я получаю undefined вместо true.

Я знаю, что это beacuse, мое имя свойства содержит специальные символы. row.fileAttribute.hasOwnProperty ('. \ K \ ar- #% i.n/a') возвращает false.

Я попытался извлечь эти значения свойств на _.values ​​(row.fileAttribute ['. \ K \ ar- #% i.n/a']), однако я получил пустой массив.

Моя консоль: enter image description here

Вот пример этого вопроса:

http://jsfiddle.net/fvu2pqzz/8/

Я признателен за любую помощь, спасибо!

+0

код, который вы ссылки существенно отличается от 'row.fileAttributes [». \ K \ ар- #% в/а ']) ' – Quentin

+0

Кажется к работе: http://jsfiddle.net/fvu2pqzz/8/ – pawel

+0

Определите ошибку. Он должен быть 'fileAttribute' без' s', shouldn'tit? –

ответ

0

Вы должны использовать bracket notation

console.info(row.entity.fileAttribute['.Kar- #%i.n/a']); 

var row = { 
 
      'entity' : { 
 
       'fileAttribute' : { 
 
        '.\K\ar- #%i\.n/a': true, 
 
        'size': '20', 
 
        'qty' : '50' 
 
       }, 
 
       'part2' : { 
 
        'name': 'Part 2', 
 
        'size': '15', 
 
        'qty' : '60' 
 
       } 
 
      } 
 
     }; 
 
     
 
console.info(row.entity.fileAttribute['.Kar- #%i.n/a']);

+0

shivgre, к сожалению не работает –

+0

@AminPourhadi Я только что протестировал его с вашим объектом и он вернулся true – shivgre

+0

@AminPourhadi вы должны делать что-то еще – shivgre

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