Cara truncate string menggunakan JavaScript

Truncate dalam bahasa Indonesia berarti dipotong, namun dalam istilah pemrograman truncate disini biasanya sering dikatakan sebagai handler
543  
       

Truncate secara terjemahan berarti dipotong, namun dalam istilah pemrograman truncate disini biasanya sering dikatakan sebagai handler atau penanganan untuk data yang cacat, tidak lengkap, salah tipe data namun tetap tetap bisa menghasilkan data yang valid.

Contoh Kasus

Penggunaan truncate ini adalah ketika kita ingin memotong kata yang panjang namun tetap “cantik” untuk dipandang. Contoh ini dapat ditemukan ketika kita ingin membuat deskripsi singkat yang berasal dari tulisan yang panjang, kita cukup memotong panjang hurufnya sehingga bisa menghasilkan deskripsi singkat yang diinginkan.

Contoh Kasus dalam Database

Contoh kasus truncate biasanya terjadi ketika kita salah memasukan tipe data kedalam database, misalkan kita mau memasukan data huruf namun tipe data yang ada misalkan hanya menampung angka seperti integer. Biasanya, database sudah memiliki handler. Dalam MySQL biasanya akan dikonversi menjadi default value atau nilai awal seperti 0 atau null. Nilai awal tersebut tergantung dari definisi data yang sudah dimasukan sebelumnya.

Implementasi

Berikut ini adalah potongan kode untuk implementasi truncated string dalam menggunakan javascript.

function truncateString(str, num) {
  // Clear out that junk in your trunk
  var strl = str.length;
  var strs = str.split(" ");
  var acm = [];
  var sisa = eval(num);
  var sssa = '';
	
	console.log("num: "+num);
	console.log("strl: "+strl);
	console.log("strs: "+strs);
	console.log("sisa: "+sisa);
	console.log("sssa: "+sssa);
	if(strl > num){
		for(var i=0; i<strs.length; i++){ acm[i] = strs[i].length; if(sisa == 0) break; if(i==0){ if(sisa > acm[i]){
					sisa -= acm[i];
					sssa += strs[i]+' ';
				}else if(sisa < acm[i]){ sisa = 0; sssa = strs[i].slice(0,num)+'...'; } }else{ if(sisa > acm[i]){
					sisa -= acm[i];
					sssa += strs[i]+' ';
				} else {
					sisa = 0;
					sssa = sssa.trim();
					sssa += '...';
				}
			}
			console.log('Sisa: '+sisa);
		}
	}else{
		console.log("Masuk else");
		sssa = str;
		
	}
	sssa = sssa.trim();
	console.log('Sisa: '+sssa);
	console.log('Sisa Length: '+sssa.length);
  return sssa;
}

document.writeln(truncateString("Absolutely Longer", 2)); //ab...
document.writeln(truncateString("kemana aja", 7)); //kemana...
document.writeln(truncateString("namun tak bisa tau", 50)); //namun tak bisa tau

Demikian, semoga membantu.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>