Computer >> Máy Tính >  >> Lập trình >> Javascript

Triển khai hàm tùy chỉnh như hàm String.prototype.split () trong JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript sống trên đối tượng nguyên mẫu của lớp String.

Nó phải nhận một dấu phân tách chuỗi làm đối số duy nhất (mặc dù hàm phân tách ban đầu có hai đối số). Và hàm của chúng ta sẽ trả về một mảng các phần của chuỗi được phân tách và phân tách bằng dấu phân tách.

Ví dụ

Sau đây là mã -

const str = 'this is some string';
String.prototype.customSplit = (sep = '') => {
   const res = [];
   let temp = '';
   for(let i = 0; i < str.length; i++){
      const el = str[i];
      if(el === sep || sep === '' && temp){
         res.push(temp);
         temp = '';
      };
      if(el !== sep){
         temp += el;
      }
   };
   if(temp){
      res.push(temp);
      temp = '';
   };
   return res;
};
console.log(str.customSplit(' '));

Đầu ra

[ 'this', 'is', 'some', 'string' ]