Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114

    Concatenare due stringhe, di cui la seconda in loop numerato

    In pratica ho una stringa alla quale vorrei concatenare un numero variabile di una seconda stringa ripetuta appunto per quel numero di volte!

    Ecco un codice abbozzato e sbagliato naturalmente:

    codice:
    var lun= 300;
    	var lun_s = lun/10; 
    	var msg="cicccciiioooooooooooooo";
    	var lungh= msg.length;
    	var lungh_lun= lun_s-lungh;
    	for(i = 0; i < lungh_lun; i++) {
    		var Space = new Array(lungh_lun);
    		 Space[i] = "";
    		msg_s= Space[i].join("");
    	}
    	var msg_tot = msg;
    	msg_tot+= msg_s;
    Grazie ancora, ciao!

  2. #2
    Ciao,la funzione concat() di javascript fa al caso tuo!

    codice:
    function conc_string(main_str,sec_str,num) {
     var contatore=parseInt(num);
      for (var i=0;i<contatore;i++) {
       main_str=main_str.concat(sec_str);}
    return main_str;
    }
    questa funzione prende 3 parametri: la stringa principale,la stringa da concatenare e il valore di loop.
    Ovviamente ritorna la stringa risulatante!

  3. #3
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Non è possibile utilizzare un array come ho cercao di fare io?


  4. #4
    certo che è possibile ma è inutile! perchè vuoi proprio usare l'array?

  5. #5
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Concat funziona soltanto con Javascript 1.2... e per quanto sia ridicolo.. mi sembra più consono utlizzare un'array! lol

  6. #6
    vabbè a sto punto puoi usare il semplice "operatore di concatenazione" sostituendo nel ciclo for l'espressione main_str+=sec_str (io ho usato la funzione concat() solo perchè esiste! lol)
    e per quanto riguarda l'array....ma che ci trovi di consono? l'array è uno strumento molto potente ma le sue potenzialità sono tali solo se sfruttate negli ambiti adatti!
    In questo caso usare un array complica abbastanza il discorso senza apportare benefici (anzi peggiora le cose in quanto devi aggiungere righe di codice superflue con conseguenze spreco di tempo e fatica).

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Questo è un esempio discusso tempo fa

    1) stringa non ottimizzata
    codice:
    function Button2_onclick() 
    {
        if(typeof(sjs) == 'undefined') {alert('vettore non caricato');return;};
        var o = new TempoOperazione();
        o.Start();
        var sb = "<select>";
        for(var i = 0; i < sjs.length; i++)
            sb += '<option value="' + sjs[i][0] + '">' + sjs[i][1] + '</option>';
        sb += "</select>";
        $("div1").innerHTML = sb;
        alert(o.Secondi());
    }
    2) stringa ottimizzata
    codice:
    function Button1_onclick() 
    {
        if(typeof(sjs) == 'undefined') {alert('vettore non caricato');return;};
    	var	o = new TempoOperazione();
    	o.Start();
    	var sb = ["<select>"];
    	for(var i = 0, j = sjs.length; i < j; i++)
    		sb.push('<option value="', sjs[i][0], '">', sjs[i][1], '</option>');
    	sb.push("</select>");
    	$("div1").innerHTML = sb.join("");
    	alert(o.Secondi());
    };
    con IE7 la differenza tra le due soluzioni è 0.172 secondi contro 22.3 secondi (in un test informale)

    Con Opera e Firefox non serve ottimizzare perchè ottimizzano da soli ed i tempi, sempre nel solito test informale è dell'ordine di 0.1-0.3 secondi
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.