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

แทนที่ตัวอักษรทั้งหมดในสตริง ยกเว้นที่อยู่ในอาร์เรย์ JavaScript

สมมติว่าเราต้องเขียนฟังก์ชัน

replaceChar(str, arr, [char])

แทนที่ตัวอักษรทั้งหมดของสตริง str ที่ไม่อยู่ในอาร์เรย์สตริง arr ด้วยอาร์กิวเมนต์ทางเลือก char หากไม่ระบุ char ให้แทนที่ด้วย '*'

เขียนโค้ด

ตัวอย่าง

const arr = ['a', 'e', 'i', 'o', 'u'];
const text = 'I looked for Mary and Samantha at the bus station.';
const replaceChar = (str, arr, char = '*') => {
  const replacedString = str.split("").map(word => {
    return arr.includes(word) ? word : char;
  }).join("");
  return replacedString;
};
console.log(replaceChar(text, arr));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น

***oo*e***o***a***a****a*a***a*a****e**u****a*io**