สมมุติว่าเรามีอาร์เรย์แบบนี้ -
const arr = [ [1,0], [0,1], [0,0] ];
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์เช่นอาร์กิวเมนต์แรกและอาร์เรย์ของตัวเลขสองตัวเป็นอาร์กิวเมนต์ที่สอง
ฟังก์ชันของเราควรตรวจสอบว่าอาร์เรย์ที่กำหนดโดยอินพุตที่สองมีอยู่ในอาร์เรย์ดั้งเดิมของอาร์เรย์หรือไม่
ตัวอย่าง
const arr = [ [1,0], [0,1], [0,0] ]; const sub = [0, 0]; const matchEvery = (arr, ind, sub) => arr[ind].every((el, i) => el == sub[i]); const searchForArray = (arr = [], sub = []) => { let ind = -1; let { length: len } = arr; while (len--) { if (arr[len].length === sub.length && matchEvery(arr, len, sub)){ ind = len; break; }; }; return ind; }; console.log(searchForArray(arr, sub));
ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
2