Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tạo polyfill thay thế lần xuất hiện thứ n của chuỗi trong JavaScript

Tạo polyfill removeStr() nhận 3 tham số:

  • subStr → chuỗi con cần xóa
  • num → xóa lần xuất hiện thứ num của subStr

Trả về chuỗi mới nếu xóa thành công, ngược lại trả -1.

Ví dụ:

const str = 'drsfgdrrtdr'; console.log(str.removeStr('dr', 3));

Kết quả mong đợi: 'drsfgdrrt'

Ví dụ

const str = 'drsfgdrrtdr'; const subStr = 'dr'; const num = 2; removeStr = function(subStr, num){    if(!this.includes(subStr)){       return -1;    }    let start = 0, end = subStr.length;    let occurences = 0;    for(; ;end < this.length){       if(this.substring(start, end) === subStr){          occurences++;       };       if(occurences === num){          return this.substring(0, start) + this.substring(end, this.length);       };       end++;       start++;    }    return -1; } String.prototype.removeStr = removeStr; console.log(str.removeStr(subStr, num));

Kết quả

Đầu ra console:

drsfgrtdr

Giải thích: kiểm tra tồn tại, dùng thuật toán cửa sổ trượt (sliding window) đếm lần xuất hiện, khi đạt số lần yêu cầu thì cắt bỏ và trả chuỗi mới. Cuối cùng gán vào String.prototype để gọi như phương thức chuỗi.