2016-08-09 10 views
0

Ich bin neu für Javascript, ich habe eine lange Zeichenfolge, die ich nach dem dritten Komma und ändern difffferent Format trennen möchte. Wenn Sie meine Probleme nicht verstehen. siehe unten BeispielWie zu teilen und zu verschiedenen Format in Javascript

My string:

var test= "10,Idly(3 Pcs),200,10,Ghee Podi Idly,300"; 

Ich mag Ausgabe wie folgt: (Jeder Punkt in der nächsten Zeile sein soll)

Untätig (3 Stück) - 10 = 200

Ghee Podi Idly - 10 = 300

Wie ändert man das mit JavaScript?

Antwort

1

einfach kopieren und einfügen. Die Funktion ist dynamischer.

Beispieldaten

var testData = "10,Idly(3 Pcs),200,10,Ghee Podi Idly,300"; 

Funktion

function writeData(data){ 
    data = data.split(','); 
    var tempLine=''; 
    for(var i=0; i<data.length/3; i++) { 
     tempLine += data[i*3+1] + ' - ' + data[i*3] + ' = ' + data[i*3+2] + '\n'; 
    } 
    alert(tempLine); 
    return tempLine; 
} 

Nutzungs

writeData(testData); 
+0

Vielen Dank – hikoo

+0

Sie sind wel komm @hikoo –

0

Verwenden split Methode die Zeichenfolge in einem Array und chunk von lodash oder unterstreichen trennen das Array in Teilen 3.

// A custom chunk method from here -> http://stackoverflow.com/questions/8495687/split-array-into-chunks 

Object.defineProperty(Array.prototype, 'chunk_inefficient', { 
    value: function(chunkSize) { 
     var array=this; 
     return [].concat.apply([], 
      array.map(function(elem,i) { 
       return i%chunkSize ? [] : [array.slice(i,i+chunkSize)]; 
      }) 
     ); 
    } 
}); 

var test= "10,Idly(3 Pcs),200,10,Ghee Podi Idly,300"; 

var arr = test.split(','); 
var arr = arr.chunk_inefficient(3); 
arr.forEach(function (item) { 
    console.log(item[1]+' - '+item[0]+' = '+item[2]); 
}); 
0

Sie zu verwandeln split können Sie die Zeichenfolge auf jedem Komma trennen. Der nächste Schritt besteht darin, über die Elemente zu iterieren, das aktuelle Element in einen Puffer zu legen und den Puffer zu leeren, wenn die Größe drei ist. Es ist also so etwas wie:

var tokens = test.split(","); 
var buffer = []; 
for (var i = 0; i < tokens.length; i++) { 
    buffer.push(tokens[i]); 
    if (buffer.length==3) { 
     // process buffer here 
     buffer = []; 
    } 

}

0

Wenn Sie diese Zeichenfolge beheben haben Sie es sonst validieren Zeichenfolge verwenden können.

var test= "10,Idly(3 Pcs),200,10,Ghee Podi Idly,300"; 
 
var test2= test.split(","); 
 
var temp_Str= test2[1]+' - '+test2[0]+' = '+test2[2]+'\n'; 
 
temp_Str+= test2[4]+'-'+test2[3]+' = '+test2[5]; 
 
alert(temp_Str);