เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงที่มีสระอย่างน้อยหนึ่งสระ และสำหรับอักขระแต่ละตัวในสตริง เราต้องจับคู่ตัวเลขในสตริงที่แสดงถึงระยะห่างที่ใกล้ที่สุดจากสระ
ตัวอย่างเช่น หากสตริงคือ −
const str = 'vatghvf';
ผลลัพธ์
จากนั้นผลลัพธ์ควรเป็น −
const output = [1, 0, 1, 2, 3, 4, 5];
ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const str = 'vatghvf';
const nearest = (arr = [], el) => arr.reduce((acc, val) => Math.min(acc, Math.abs(val - el)), Infinity);
const vowelNearestDistance = (str = '') => {
const s = str.toLowerCase();
const vowelIndex = [];
for(let i = 0; i < s.length; i++){
if(s[i] === 'a' || s[i] === 'e' || s[i] === 'i' || s[i] === 'o' || s[i] === 'u'){
vowelIndex.push(i);
};
};
return s.split('').map((el, ind) => nearest(vowelIndex, ind));
};
console.log(vowelNearestDistance(str)); ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
[ 1, 0, 1, 2, 3, 4, 5 ]