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

So khớp 2 chuỗi cho phép n ký tự khác - JavaScript

Viết hàm so sánh 2 chuỗi, trả về true nếu chúng chứa cùng ký tự (bỏ qua thứ tự) HOẶC khác nhau tối đa n ký tự.

Ví dụ

Chuỗi 1: 'some random text'

Chuỗi 2: 'some r@ndom text'

Chỉ khác '@' vs 'a' → 1 khác biệt → với n=1 trả về true.

Giải pháp

Mã triển khai (so sánh từng vị trí):

const str = 'some random text';
const str2 = 'some r@ndom text';

const deviationMatching = (first, second, num) => {
  let count = 0;
  for (let i = 0; i < first.length; i++) {
    if (!second.includes(first[i])) count++;
    if (count > num) return false;
  }
  return true;
};

console.log(deviationMatching(str, str2, 1));

Kết quả

Đầu ra trong console:

true

Lưu ý: Code gốc so sánh theo vị trí (includes kiểm tra tồn tại bất kỳ đâu). Nếu muốn so khớp multiset, cần đếm tần suất.