Ich füge die Daten hinzu, die ich von einer URL zum Array Ernten erhalte. Danach suche ich mit Hilfe eines neuen Arrays nach doppelten Ernten cropsSoFar.beste Möglichkeit, nach einer Zeichenfolge in einem Array zu suchen
var crops=[];
for(int i=0; i<results.length;i++)
{
var terrains= results.features[i].attributes.Terrain_Id;
var rawDataOfTerrain=getjsondata("http://or.org");
var trsetdata= jQuery.parseJSON(tersetjson).d.results;
crops.push(trsetdata);
}
var cropsSoFar= [];
for(int i=0; i<crops.length;i++)
{
var crop= crops[i];
if(crop in cropsSoFar)
{
crops.pop(crop);
}
cropsSoFar.push(crops[i]);
}
if(crops.length!=1)
alert("Please select terrains with the same crop");
Ist dies der richtige Weg für eineZeichenfolge in einem Array suchen? Wenn ja, gibt es einen leichteren Weg? Wenn nicht, wo liege ich falsch?
Wenn trsetdata in einer Zeichenfolge ist, wird nur ein Element überprüft. und Sie checken ein leeres Array von var cropsSoFar = []; ein. – Ray
Nein, der 'in'-Operator ist sicherlich der falsche Weg. – Bergi
Sie haben die Verwendung des Arrays '.pop()' missverstanden, es benötigt kein Argument und entfernt immer das letzte Element des Arrays. Es sollte reichen, die 'corpsSoFar.push()' in die if-Anweisung zu verschieben und sie in ein * not * zu ändern, aber es ist besser, einfach zu überprüfen, bevor du zum ersten Array drückst und den zweiten Teil überspringst. –