ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของสตริงตัวอักษรภาษาอังกฤษพิมพ์เล็ก ฟังก์ชันควรแมปอาร์เรย์เข้าไปเป็นอาร์เรย์ที่สมาชิกแต่ละตัวคือจำนวนตัวอักษรที่มีดัชนี 1-based ในสตริงเท่ากับดัชนี 1-based ในอักษรอังกฤษ
เช่น จำนวนนี้สำหรับสตริง 'akcle' จะเป็น 3 เพราะตัวอักษร 'a', 'c', 'e' มีดัชนี 1-based เป็น 1, 3, 5 ทั้งในสตริงและอักษรอังกฤษ
ตัวอย่าง
โค้ดตัวอย่างด้านล่าง:
const arr = ["abode", "ABc", "xyzD"];
const findIndexPairCount = (arr = []) => {
const alphabet = 'abcdefghijklmnopqrstuvwxyz';
const res = [];
for (let i = 0; i < arr.length; i++) {
let count = 0;
for (let j = 0; j < arr[i].length; j++) {
if (arr[i][j].toLowerCase() === alphabet[j]) {
count++;
}
}
res.push(count);
}
return res;
};
console.log(findIndexPairCount(arr));
ผลลัพธ์
[ 4, 3, 1 ]
คำอธิบายเพิ่มเติม
"abode": a(1)=a, b(2)=b, o(3)≠c, d(4)=d, e(5)=e → 4 ตัว / "ABc": a(1)=a, b(2)=b, c(3)=c → 3 / "xyzD": x(1)≠a, y(2)≠b, z(3)≠c, d(4)=d → 1 โค้ดเปรียบเทียบตัวอักษรตำแหน่ง j กับ alphabet[j]