2016-06-17 37 views
1

Das ist wahrscheinlich eine sehr neue Frage, aber ich lerne Javascript und arbeite mit pouchDB. Ich habe eine Suchfunktion, die wie etwas zurückgibt:Zugriff auf Objekte innerhalb eines Objekts?

{"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!"}}]} 

ich den TOTAL_ROWS Wert leicht offensichtlich zugreifen kann, aber wie würde ich den Wert von ‚Text‘ zugreifen?

+2

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

Antwort

1

Einfach mit x.rows[0].doc.text.

Edit: Um Ihnen ein wenig besser zu verstehen, was hier passiert, greifen Sie mit dem Operator . auf "Unterkinder" zu. Wir fragen nach dem rows Array innerhalb x und dann geben wir an, dass wir die erste Zeile wollen (denken Sie daran, dass Arrays 0-indiziert sind, was bedeutet, dass das erste Element in einem Array an Position 0 ist).

Von dort aus greifen wir einfach auf das doc Kind und das text Attribut, das es enthält.

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

Hallo bitte cchecck diesen

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

es ist besser, jede Zeile zu identifizieren, indem 'id' mit Hilfe von JavaScript-Objekt zu analysieren.

versuchen, diese (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 oder Vorversion

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); 
Verwandte Themen