Mảng khoảng cách đến nguyên âm gần nhất trong JavaScript
Chúng ta cần viết một hàm JavaScript nhận vào một chuỗi có ít nhất một nguyên âm, và cho mỗi ký tự trong chuỗi chúng ta phải ánh xạ một số trong mảng đại diện cho khoảng cách gần nhất từ nó đến một nguyên âm.
Ví dụ: Nếu chuỗi là:
const str = 'vatghvf';
Đầu ra
Thì kết quả đầu ra nên là:
const output = [1, 0, 1, 2, 3, 4, 5];
Do đó, hãy viết mã cho hàm này:
Ví dụ
Mã thực hiện như sau:
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));
Đầu ra
Kết quả trong console sẽ là:
[ 1, 0, 1, 2, 3, 4, 5 ]