จุดประสงค์ของดัชนีของการค้นหาตำแหน่งของคำในสตริง
LastIndexof ยังเป็นการค้นหาคำ ความแตกต่างระหว่างพวกเขาคืออดีตเริ่มต้นจากส่วนหัวของสตริงและหลังเริ่มต้นจากจุดสิ้นสุดของสตริง
เมื่อพบคำที่ระบุแล้วหมายเลขตำแหน่งปัจจุบันของคำจะถูกส่งคืน หากไม่พบให้ส่งคืน -1
var str = "//www.stooges.com.my/test/index.aspx123/"; //0console.log(str.lastindexof("/ ")); // 39พารามิเตอร์ 1 คือคำที่จะค้นหามันจะต้องเป็น str มันจะไม่ทำงาน
นอกจากนี้ยังยอมรับพารามิเตอร์ที่สอง ประเภทหมายเลขสิ่งนี้ช่วยให้เราสามารถระบุช่วงของการค้นหา
var str = "//www.stooges.com.my/test/index.aspx123/"; // 0 ค่าเริ่มต้นคือ 0console.log (str.AlastIndexof ("/", str.length)); // 39 ค่าเริ่มต้นคือ str.lengthการควบคุมของทั้งสองวิธีอยู่ในทิศทางที่แตกต่างกัน
สมมติว่า indexof ถูกตั้งค่าเป็น 10 จากนั้นช่วงการค้นหาคือจาก 10 ถึง str.length (สิ้นสุดของคำ)
หาก LastIndexof ถูกตั้งค่าเป็น 10 ช่วงการค้นหาจะมาจาก 10 ถึง 0 (คำแรก)
ให้ความสนใจกับสิ่งนี้
PS: การตั้งค่าเป็นจำนวนลบเช่น -500 จะทำให้เกิดปรากฏการณ์แปลก ๆ ฉันไม่เข้าใจ = = ";
บางครั้งเราต้องการระบุ nth หนึ่ง จากนั้นเราสามารถทำได้ด้วยวิธีการข้างต้น
ตัวอย่างเช่น:
string.prototype.myindexof = function (searchValue, startIndex) {var text = this; startIndex = startIndex || 1; var is_negative = startIndex <0; var ipos = (is_negative)? text.length + 1: 0 - 1; var looptime = math.abs (startIndex); สำหรับ (var i = 0; i <looptime; i ++) {ipos = (is_negative)? text.lastindexof (searchValue, IPO - 1): text.indexof (searchValue, IPOS + 1); ถ้า (IPOS == -1) break;} ส่งคืน IPOS;} var str = "//www.stooges.com.my/test/index.aspx123/"; //20console.log(str.myindexof("/ ", -2)); // 25 ตำแหน่งสุดท้ายที่สอง