Ich muss herausfinden, aus welchem Array von einem Objekt ein Element gehört, "Gebäude" oder "Gärten";Finden Sie heraus, welchen Teil des Objekts ein Element gehört
Also, sage ich haben ...
var id = '122'
die zu
a.data.gardens.item_id = 122
entspricht ich brauche, um herauszufinden, ob es sich gehört „Gebäude“ oder „Gärten so kann ich es nutzen wie diese.
if (result === 'buildings') {
// Do this
} else if (result === 'gardens') {
// Do this
}
ich mag underscore.js verwenden, wie es bereits stark in diesem Projekt verwendet werden wird, aber es ist nicht wichtig, wenn eine Vanilla JS-Lösung einfacher ist. Hier
ist das Objekt
var a = {
'object_handle': 'handle',
'something_else': 'ladela',
'some_other_thing': 'other thing',
'data':{
'object_id': 120,
'buildings':[
{
'item_id':120,
'title':'Some title',
},
{
'item_id':121,
'title':'Some other title'
}
],
'some_other_thing': 'other thing',
'gardens':[
{
'item_id':122,
'title':'Some title'
},
{
'item_id':123,
'title':'Some other title'
}
]
}
}
Vielen Dank
Das funktioniert perfekt. Die Antwort vor der Verwendung ._findWoher gibt es einen Grund, warum Sie _.some() favorisiert haben? ist es leistungsfähiger? – MikeeBee
Einige gibt wahr oder falsch zurück, findWhere gibt ein Objekt zurück. Da Sie nur wissen wollten, ob das Objekt in der Sammlung war, wählte ich etwas aus. –
Ausgezeichnet, danke für die Klärung. – MikeeBee