Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

หาตำแหน่งดัชนีของอาร์เรย์ภายในอาร์เรย์ใน JavaScript

สมมติว่ามีอาร์เรย์ของอาร์เรย์ดังนี้:

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