เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ของสตริง/ตัวเลขเป็นอาร์กิวเมนต์แรก และสตริง/ตัวเลขเป็นอาร์กิวเมนต์ที่สอง
ถ้าตัวแปรตัวที่สองไม่อยู่ในอาร์เรย์ ให้คืนค่า -1
ถ้าอยู่ในอาร์เรย์ ให้คืนค่าดัชนีที่จะมีถ้าอาร์เรย์ถูกกลับด้าน (reverse) โดยไม่ต้อง reverse จริงๆ
และต้อง attach ฟังก์ชันนี้เข้า Array.prototype
ตัวอย่าง:
[45, 74, 34, 32, 23, 65].reversedIndexOf(23); ควรคืนค่า 1 เพราะถ้ากลับอาร์เรย์ 23 จะอยู่ index 0 (รอ นี่คือ 1?)
จริงๆ ถ้ากลับอาร์เรย์ [65, 23, 32, 34, 74, 45] แล้ว 23 อยู่ index 1 ดังนั้นคืนค่า 1
ตัวอย่าง
โค้ดต่อไปนี้เป็นตัวอย่าง:
const arr = [45, 74, 34, 32, 23, 65];
const num = 23;
const reversedIndexOf = function(num){
const { length } = this;
const ind = this.indexOf(num);
if(ind === -1){
return -1;
};
return length - ind - 1;
};
Array.prototype.reversedIndexOf = reversedIndexOf;
console.log(arr.reversedIndexOf(num));ผลลัพธ์
จะแสดงผลในคอนโซลดังนี้:
1