สมมุติว่าเรามีอาร์เรย์แบบนี้ -
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