2016-06-17 5 views
1

Это, вероятно, очень новичок, но я изучаю javascript и работаю с pouchDB. У меня есть функция поиска, которая возвращает что-то вроде:Доступ к объектам внутри объекта?

{"total_rows":1,"rows":[{"id":"mydoc","score":0.7071067811865475,"doc":{"title":"Guess who?","text":"It's-a me, Mario!","_id":"mydoc","_rev":"1-21bd9b0c99791947618e98a23134b312"},"highlighting":{"text":"It's-a me, Mario!"}}]} 

я могу получить доступ значение TOTAL_ROWS легко очевидно, но как бы я получить доступ к значению «текст»?

+2

'blah.rows [0] .doc.text' – Marty

ответ

1

Просто с x.rows[0].doc.text.

Редактировать: Чтобы помочь вам лучше понять, что здесь происходит, вы получаете доступ к «дочерним детям» с оператором .. Мы запрашиваем массив rows внутри x, а затем указывая, что мы хотим первую строку (помните, что массивы имеют 0-индексирование, что означает, что первый элемент в массиве находится в позиции 0).

Оттуда мы просто получаем доступ к дочернему элементу doc и его атрибуту text.

0
var obj = {"total_rows":1,"rows":[{"id":"mydoc","score":0.7071067811865475,"doc":{"title":"Guess who?","text":"It's-a me, Mario!","_id":"mydoc","_rev":"1-21bd9b0c99791947618e98a23134b312"},"highlighting":{"text":"It's-a me, Mario!"}}]}; 

console.log(obj.rows[0].doc.text); 
0

Привет пожалуйста cchecck этот

var abc = { 
    "total_rows": 1, 
    "rows": [ 
     { 
      "id": "mydoc", 
      "score": 0.7071067811865475, 
      "doc": { 
       "title": "Guess who?", 
       "text": "It's-a me, Mario!", 
       "_id": "mydoc", 
       "_rev": "1-21bd9b0c99791947618e98a23134b312" 
      }, 
      "highlighting": { 
       "text": "It's-a me, Mario!" 
      } 
     } 
    ] 
} 

console.log(abc.rows[0].doc.text); 
console.log(abc.rows[0].highlighting.text); 
0

лучше идентифицировать каждую строку, используя 'ID', чтобы разобрать объект JavaScript.

попробовать это (ES6 яваскрипта)

const obj = {"total_rows":1,"rows":[{"id":"mydoc","score":0.7071067811865475,"doc":{"title":"Guess who?","text":"It's-a me, Mario!","_id":"mydoc","_rev":"1-21bd9b0c99791947618e98a23134b312"},"highlighting":{"text":"It's-a me, Mario!"}}]} 

const id = 'mydoc' 
const text = obj.rows.find(item => item.id === id).doc.text 
console.log(text) 

Javascript ES5 или предыдущая версия

var obj = {"total_rows":1,"rows":[{"id":"mydoc","score":0.7071067811865475,"doc":{"title":"Guess who?","text":"It's-a me, Mario!","_id":"mydoc","_rev":"1-21bd9b0c99791947618e98a23134b312"},"highlighting":{"text":"It's-a me, Mario!"}}]}; 

var id = 'mydoc'; 
var text = obj.rows.find(function(item) { return item.id === id; }).doc.text; 
console.log(text);