Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การหาและคืนค่าตัวอักษรที่ไม่ซ้ำกันระหว่างสองสตริงใน JavaScript

ปัญหา

เราต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงสองตัว ฟังก์ชันควรคืนค่าสตริงใหม่ของตัวอักษรที่ไม่ร่วมกันระหว่างสองสตริง

ตัวอย่าง

โค้ดตัวอย่างด้านล่าง:

const str1 = "xyab";
const str2 = "xzca";
const findUncommon = (str1 = '', str2 = '') => {
  const res = [];
  for (let i = 0; i < str1.length; i++) {
    if (!(str2.includes(str1[i]))) {
      res.push(str1[i]);
    }
  }
  for (let i = 0; i < str2.length; i++) {
    if (!(str1.includes(str2[i]))) {
      res.push(str2[i]);
    }
  }
  return res.join("");
};
console.log(findUncommon(str1, str2));

ผลลัพธ์

ybzc

คำอธิบายเพิ่มเติม

str1="xyab", str2="xzca" ตัวอักษรร่วม: x, a ตัวไม่ร่วม: str1→y,b str2→z,c รวม ybzc (ตามลำดับปรากฏ) โค้ดใช้ includes() O(n²) สำหรับสตริงยาวควรใช้ Set