Rumah  >  Artikel  >  hujung hadapan web  >  Kaedah subrentetan 3 js untuk melaksanakan kemahiran string_javascript

Kaedah subrentetan 3 js untuk melaksanakan kemahiran string_javascript

WBOY
WBOYasal
2016-05-16 15:33:042075semak imbas

Baru-baru ini saya menemui soalan, "Bagaimana untuk menggunakan JavaScript untuk melaksanakan kaedah subrentetan rentetan pada masa ini saya mempunyai tiga penyelesaian berikut dalam fikiran:
Kaedah 1: Gunakan charAt untuk mengekstrak bahagian yang dipintas:

String.prototype.mysubstring=function(beginIndex,endIndex){
  var str=this,
    newArr=[];
  if(!endIndex){
    endIndex=str.length;
  }
  for(var i=beginIndex;i<endIndex;i++){
    newArr.push(str.charAt(i));
  }
  return newArr.join("");
}

//test
"Hello world!".mysubstring(3);//"lo world!"
"Hello world!".mysubstring(3,7);//"lo w"

Kaedah 2: Tukar rentetan ke dalam tatasusunan dan keluarkan bahagian yang diperlukan:

String.prototype.mysubstring=function(beginIndex,endIndex){
  var str=this,
    strArr=str.split("");
  if(!endIndex){
    endIndex=str.length;
  }
  return strArr.slice(beginIndex,endIndex).join("");
}

//test
console.log("Hello world!".mysubstring(3));//"lo world!"
console.log("Hello world!".mysubstring(3,7));//"lo w"


Kaedah 3: Keluarkan bahagian kepala dan ekor, kemudian gunakan ganti untuk mengeluarkan bahagian yang berlebihan Ia sesuai untuk situasi di mana beginIndex kecil dan string length-endIndex kecil:

String.prototype.mysubstring=function(beginIndex,endIndex){
  var str=this,
    beginArr=[],
    endArr=[];
  if(!endIndex){
    endIndex=str.length;
  }
  for(var i=0;i<beginIndex;i++){
    beginArr.push(str.charAt(i));
  }
  for(var i=endIndex;i<str.length;i++){
    endArr.push(str.charAt(i));
  }
  return str.replace(beginArr.join(""),"").replace(endArr.join(""),"");
}

//test
console.log("Hello world!".mysubstring(3));//"lo world!"
console.log("Hello world!".mysubstring(3,7));//"lo w"

Anda boleh mencuba tiga kaedah subrentetan rentetan dalam js dan bandingkan kaedah mana yang lebih mudah.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn