Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

275
Views
Alternativa para el método `some` en NodeList

Tengo una pregunta simple, ¿qué método más simple conoces para reemplazar el método some para NodeList? Este some es solo para el prototipo de matriz.

Actualmente se me ha ocurrido la idea bastante extravagante de iterar y mantener un valor booleano en una variable; sin embargo, me gustaría conocer su punto de vista.

Mi enfoque oscuro

 const toCheck = (elem) => elem.checked; const methodSome = (list, fn) => { let result = false; for (let i = 0; i < list.length; i++) { if (fn(list[i])) { result = true; break; } } return result; }; const elems = document.querySelectorAll(`[name="something"]`); const hasBeenChecked = methodSome(elems, toCheck);

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Como han mencionado otros, el operador de propagación puede poner elementos en una matriz.

Un enfoque más simple es usar el selector de :checked con una llamada a document.querySelector() (en lugar de usar document.querySelectorAll() ). ¡¡El operador Doble NOT !! se puede utilizar para convertir el elemento en un valor booleano.

 const hasBeenChecked = !!(document.querySelector(`[name="something"]:checked`));

Con este enfoque, no es necesario colocar elementos en una matriz y tener una función con un ciclo para verificar esos elementos.

Vea un ejemplo aquí:

 const hasBeenChecked = !!(document.querySelector(`[name="something"]:checked`)); console.log('hasBeenChecked: ', hasBeenChecked);
 <div><input type="checkbox" name="something" /> something?</div> <div><input type="checkbox" name="something" checked /> something?</div> <div><input type="checkbox" name="something" /> something?</div> <div><input type="checkbox" name="something" checked /> something?</div>

about 4 years ago · Juan Pablo Isaza Report

0

Utilice el operador de propagación para convertir una lista de nodos en una matriz

 const hasBeenChecked = [...elems].some(toCheck);
about 4 years ago · Juan Pablo Isaza Report

0

Conviértalo en una matriz primero:

Con operador de propagación:

 const toCheck = (elem) => elem.checked; const methodSome = (list, fn) => { let result = false; for (let i = 0; i < list.length; i++) { if (fn(list[i])) { result = true; break; } } return result; }; const elems = document.querySelectorAll(`[name="something"]`); const hasBeenChecked = [...elems].some(toCheck);

Con Array.from

 const toCheck = (elem) => elem.checked; const methodSome = (list, fn) => { let result = false; for (let i = 0; i < list.length; i++) { if (fn(list[i])) { result = true; break; } } return result; }; const elems = document.querySelectorAll(`[name="something"]`); const hasBeenChecked = Array.from(elems).some(toCheck);

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!