เราต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงหนึ่งตัวเป็นอาร์กิวเมนต์เดียว ฟังก์ชันต้องคืนค่า true ถ้าตัวอักษรทุกตัวในสตริงเป็นเอกประสงค์ (unique) และคืนค่า false ถ้ามีตัวอักษรซ้ำแม้แค่ตัวเดียว
เราจะใช้แฮชเซต (hash set) เพื่อติดตามตัวอักษรที่พบ และหากพบตัวซ้ำระหว่างวนลูป ให้คืนค่า false ทันที มิฉะนั้นคืนค่า true เมื่อวนจบ
ตัวอย่างโค้ด
const str = 'abschyie';
const checkUniqueness = (str = '') => {
const hash = new Set();
for(let i = 0; i < str.length; i++) {
const el = str[i];
if(hash.has(el)) {
return false;
}
hash.add(el);
}
return true;
};
console.log(checkUniqueness(str));
ผลลัพธ์
true