Estoy tratando de obtener datos de la matriz 2d con la función de inclusión, pero no funciona, solo se está ejecutando el método de búsqueda aquí es mi Código
let arr = [ ['Ahmed','Engineer','24'] , ['Seif Ossama Ahmed','Student','21'], ['Hassan','Doctor','27'], ]; let outputText = "" ; let submitBtn = document.getElementById('submit-btn'); let output = document.getElementById('output-here'); submitBtn.addEventListener('click',function(){ outputText = ""; let q = document.getElementById('search-bar'); for(let i = 0; i<arr.length; i++){ for(let j = 0; j<arr[i].length;j++){ if(arr[i][j].includes(q.value) != -1){ outputText += arr[i] ; break; }else if(q.value === ""){ outputText = "Sorry No result" ; } } output.innerHTML = outputText ; } })`Como han señalado otros includes() devuelve un valor booleano.
Aquí su ejemplo con la búsqueda que no distingue entre mayúsculas y minúsculas y devuelve todos los resultados encontrados.
let arr = [ ["Ahmed", "Engineer", "24"], ["Seif Ossama Ahmed", "Student", "21"], ["Hassan", "Doctor", "27"], ]; window.addEventListener("DOMContentLoaded", (event) => { const submitBtn = document.getElementById("submit-btn"); const output = document.getElementById("output-here"); submitBtn.addEventListener("click", function () { const q = document.getElementById("search-bar"); // search const results = findAllCaseInsensitive(q.value); // display results let outputText = ""; if (results.length === 0) outputText = "Sorry No result"; else outputText = results.join(" || "); output.textContent = outputText; }); }); /** * Search for a string (case-insensitive) and return ALL occurrences. * @param {string} value value to search for * @returns */ function findAllCaseInsensitive(value) { value = value.toUpperCase(); const results = []; for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr[i].length; j++) { if (arr[i][j].toUpperCase().includes(value)) { results.push(arr[i]); } } } return results; } <input id="search-bar"></input> <button id="submit-btn">Search</button> <span id="output-here"></span>arr[i][j].includes(q.value) != -1 este sería tu primer problema ya que ni siquiera es false == -1 . falso es igual a 0.
simplemente escriba if (arr[i][j].includes(q.value))