2016-11-18 2 views
-2

Vielen Dank für das Lesen!Suche Schlüsselwertpaar in Multi-Dimension-Array

Ich habe ein JSON-Objekt, das ich suchen muss, um zu finden, ob ein Wert da ist. Das Problem, das ich habe, untersucht ein Array und dann innerhalb des Feature-Arrays, um zu testen, ob "In Ground Pool" existiert.

Vielen Dank!

targetListing ist mein JSON-Objekt

var targetFeature = "In Ground Pool"; 

function valuateFeature(targetFeature){ 
    for(var i = 0, len = targetListing.Features.length; i < len; i++) { 
     if(targetListing.Features[i][0] === targetFeature) { 
      return true 
     }else{ 
      return false 
     } 
    }; 

} ; 

Address 
 
: 
 
Object 
 
AgentEmail 
 
: 
 
"xxxxx" 
 
AgentId 
 
: 
 
"xxxx" 
 
AgentName 
 
: 
 
"Richard Getz" 
 
AgentPhone 
 
: 
 
"xxxx" 
 
AllListings 
 
: 
 
false 
 
Bath 
 
: 
 
0 
 
Bedroom 
 
: 
 
5 
 
Brokerage 
 
: 
 
"xxxx" 
 
BuildingStyle 
 
: 
 
"House" 
 
BuildingStyleId 
 
: 
 
1 
 
DaysPosted 
 
: 
 
0 
 
Description 
 
: 
 
"If you've ever ..." 
 
Features 
 
: 
 
Array[2] 
 
0 
 
: 
 
Object 
 
Description 
 
: 
 
"In Ground Pool" 
 
__proto__ 
 
: 
 
Object 
 
1 
 
: 
 
Object 
 
Description 
 
: 
 
"Attached Garage" 
 
__proto__ 
 
: 
 
Object 
 
length 
 
: 
 
2 
 
__proto__ 
 
: 
 
Array[0] 
 
HouseType 
 
: 
 
"Mediterranean" 
 
HouseTypeId 
 
: 
 
3 
 
Images 
 
: 
 
Array[0]

+0

Es wäre besser, wenn Sie den JSON gepostet haben (verwenden Sie jsonlint.com, um ihn schön zu formatieren). Es ist unmöglich, die Struktur der Daten von Ihrer Frage zu unterscheiden. – Barmar

Antwort

0

Werfen Sie einen Blick auf lodash.filter

var foundListings = _.filter(targetListing.Features, function() { 
    return this[0] === targetFeature 
} 

var found = foundListings.length > 0; 

So ähnlich. Es gibt mehrere lodash-Funktionen, die angemessen sein könnten. find vielleicht

https://lodash.com/docs/4.17.2#filter

+0

Native Javascript-Arrays haben bereits eine weit verbreitete Filtermethode. –

0

Ich fand es :)

Ich musste richtig innerhalb des Arrays zielen.

targetListing.Features[0]["Description"] 
Verwandte Themen