Jag har en kommaseparerad sträng av heltal där jag med hjälp av en funktion vill maska bort ett tal åt gången. Tack för ditt förslag Simon. Min funktion verkar dock funka tillfredställande så jag kommer att använda den. Nu när det är löst kan jag inte hålla mig längre... vad ska du ha funktionen till? ok... jag har en tabell med produkter... sen har jag en tabell med jobb... och till varje jobb så kan man koppla x antal produkter. Dessa produktID sparar jag som en kommaseparerad sträng i jobbtabellen istället för att ha ytterligare en tabell med "produktrader"... och jag ville kunna manipulera värdena på en webbsida mha javascript... innan de postas till databasen (dvs lägga till/ta bort produkter) <b>Varför inte ha ytterligare en tabell så som du skriver?</b>Maska bort från sträng
Strängen ser t ex ut så här:
var csv = '1,2,5,1,2,6,5,5,4,2,1,2,7,1,';
Jag vill då t ex plocka bort en av ettorna(1) genom att anropa en fiffig funktion, typ:
function maskStr(nr) { // nr == 1 eller '1'
// var newCsv = ???
// return newCsv;
}
Returvärdet bör då bli, t ex:
csv == '1,2,5,1,2,6,5,5,4,2,1,2,7,'
Det spelar ingen roll vilken av "ettorna" i strängen som försvinner...
Någon som har ett bra förslag. Märk att endast <b>en</b> etta(samt det följande kommatecknet) skall plockas bort från strängen.
Går det eventuellt att fixa med ett reguljärt uttryck?
// EDIT
Har nu suttit och "lekt"... och kommit fram till följande som verkar funka:
function maskStr(v,csv) {
v = v + ',';
var loc = csv.indexOf(v);
var csv2= csv.substring(0,loc);
loc = loc + v.length;
csv2 += csv.substring(loc,csv.length);
return csv2;
}
...fast någon kanske har en smidigare lösning?
Jag låter inlägget vara öppet ett tag till... ;)
Sv: Maska bort från sträng
function maskStr(v, csv) {
found = false;
arr = csv.split(",");
for (i=0;i<arr.length;i++) {
if (!found && v == arr[i]) {
arr.splice(i,1);
found = true;
}
}
return arr.join(",");
}
..kan funka
Sv:Maska bort från sträng
Sv: Maska bort från sträng
Det känns så orimligt åt alla håll, men den har säkert en helt naturlig användning. =)Sv:Maska bort från sträng
Sv:Maska bort från sträng
Vet inte... har inget bra svar på det... annat att det verkade som en bra idé när jag skapade databasen från början... *skratt*