2016-04-05 24 views
0

Ich habe ein Array, die Daten-ID genannt wird und hier die console.log meiner Array ist:Werte vergleichen und bestimmen Position in Array

enter image description here

und in meiner URL ich stock myid: enter image description here

Ich möchte es so machen, wenn ich auf einen Bereich mit der ID "next" klicke, sende es mir in meiner URL den Wert der nächsten ID in meinem Array datatid ein. Zuerst müssen wir die Position von myid in meinem Array bestimmen und dann bestimmen, welcher Wert der nächste in meiner URL ist.

Das ist, was ich versucht:

var newid = GetURLParameter('myid'); 
    console.log(newid); 
    var dataid = localStorage.getItem("mesid"); 
    console.log(dataid); 


    function nextticket(){ 
    var position = dataid.indexOf(newid)+1; 
    console.log(dataid.indexOf(newid)); 
    console.log(position); 
    } 

und hier ist das, was ich bekommen: enter image description here

Aber die Position sind falsch!

+1

Bitte zeigen Sie uns, was Sie versucht haben ... Und werfen Sie einen Blick auf die 'Array.prototype.indexOf()' Methode. – cl3m

+0

@ cl3m Ich bearbeite meinen Beitrag neu, um Ihnen zu zeigen, was ich probiert habe – xenurs

Antwort

2

localStorage speichert Strings, nicht Arrays. Die Position 10 in Ihrer Ausgabe ist, weil "4653" an der Zeichenposition 10 in der Zeichenfolge "5475,4831,4653, ..." auftritt.

Sie müssen die Zeichenfolge wieder in ein Array mit so etwas spalten:

var position = dataid.split(',').indexOf(newid) + 1; 

wo die split() Verfahren wie hier eine kommagetrennte in ein Array String umwandelt verwendet.

+0

vielen Dank das ist eine großartige Erklärung :) – xenurs

Verwandte Themen