Autor Zpráva
wesna
Profil *
Ahoj,
mam tento problem, v kodu nacitam string z local storage, rozparsuji jej podle stredniku a pocitam pocet polozek, pokud je jich vice jak deset, odeberu prvni, pridam na posledni misto novy string.

Problem je v tom, ze i kdyz se za kazdym retezcem snazim davat strednik pro moznost budouciho parsovani, posunuje mi to strednik jakoby uplene na konec retezce..cemuz nerozumim.

Diky mnohokrat, pokud by nekdo vedet, co to muze zpusobovat, uz jsem zkousela vice postupu ale zadny nefungoval.

Ziva ukazka zde:
http://jsfiddle.net/NF2jz/2550/


Kod:
//localStorage.clear;

    //IF IS TO FOR FIRST TIME
    if(localStorage.savedSearches == undefined)
    {
        //CREATE LOCALSTORAGE ITEM
    localStorage.savedSearches = "";
        
    }
    
    //FETCH FROM LS TO VARIABLE
    var stringOfSavedSearches = localStorage.savedSearches;
        
      //SPLIT   
    var arrayOfSplittedSearches  = stringOfSavedSearches.split(";");

  
    //NEW VAUE FORM INPUT        
    var newValue = '1:1,2,3:5489:cena:ascd:500:1000::::48.198:45.125;';

    
    document.write(arrayOfSplittedSearches.length+'<br>');

    if(arrayOfSplittedSearches.length >= 10)
    {

    //SHHIFT REMOVE FIRST ARRAY    
    arrayOfSplittedSearches.shift();
    //PUSH INSERT TO LAST POSITION
    arrayOfSplittedSearches.push(newValue);
    }
    else
    {
    arrayOfSplittedSearches.push(newValue);
      
    }
    
    //ARRAY TO STRING TO SAVE
   var ActaulizedstringOfSavedSearches =  arrayOfSplittedSearches.toString();
   //document.write(ActaulizedstringOfSavedSearches); 
   localStorage.savedSearches = ActaulizedstringOfSavedSearches;
 
peta
Profil
var newValue = '1:1,2,3:5489:cena:ascd:500:1000::::48.198:45.125;';
arrayOfSplittedSearches.shift();
arrayOfSplittedSearches.push(newValue);
V poli jsou ty hodnoty jeste bez stredniku. Ale v hodnote davas na konci strednik. Takze pokud je ted spojis joinem, bude tam o strednik vice.
a = ['1','2','3','4','5'];
b = ['1','2','3','4','5'];
x = '6;'
b.push(x);
alert(a.join(';')+"\n"+b.join(';')+"\n")
// vypise, protoze misto '6' pridavas '6;'
// 1;2;3;4;5
// 1;2;3;4;5;6;
Je to ten problem, na ktery se ptas? Jinak to prilis nechapu.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0