De hecho, he encontrado muchas preguntas que sonaban similares, pero ninguna funcionó en mi caso. Bastante nuevo en programación orientada a objetos, así que tengan paciencia conmigo.
console.log(result) devuelve el objeto a continuación con éxito:
[ { name: 'horse', lid: 1 }, { name: 'cat', lid: 2 }, { name: 'dog', lid: 3 } ]Me gustaría que la salida fuera
[ { name: 'horse' }, { name: 'cat' }, { name: 'dog' } ] Sé que puedo hacer que la consulta obtenga el nombre solo, pero lo que busco es tener un conjunto de datos completo en el result y luego elegir qué propiedades se mostrarán y qué propiedades se omitirán para todos los objetos.
Mis intentos hasta ahora
console.log(result[0].name + result[1].name + result[2].name); => Éxito, pero ¿y si tengo 1000 objetos?
for (let i = 0; i <= result.length; i++) {console.log(result[i].name);} => Falló y devuelve Cannot read properties of undefined
result.forEach(arr => { for (const key in arr) { // console.log(arr[key].name); console.log(arr[key]['name']); } }); También falló y devuelve Cannot read properties of undefined
Su expresión for no debe ir más allá de la longitud -1 (las matrices están indexadas desde cero, por lo que el índice del último elemento es de longitud -1), por lo que debe escribirlo de esta manera
const results = [ { name: 'horse', lid: 1 }, { name: 'cat', lid: 2 }, { name: 'dog', lid: 3 } ]; for (let i = 0; i < results.length; i++) {console.log(results[i].name);}Y la sintaxis forEach debería verse así
const results = [ { name: 'horse', lid: 1 }, { name: 'cat', lid: 2 }, { name: 'dog', lid: 3 } ]; results.forEach(res => console.log(res.name));las cosas basicas
<script> result=[ { name: 'horse', lid: 1 }, { name: 'cat', lid: 2 }, { name: 'dog', lid: 3 } ] result.forEach(function(vl){ console.log(vl.name); }) </script>la matriz que buscas
<script> result=[ { name: 'horse', lid: 1 }, { name: 'cat', lid: 2 }, { name: 'dog', lid: 3 } ] var newstuff=[]; result.forEach(function(vl){ console.log(vl.name); newstuff.push(vl.name); }) console.log(newstuff); </script>espero que esto ayude
foreach no puede devolver nada, y darte undifinde,
usa map() , si quieres devolver algo
const a = [ { name: 'horse', lid: 1 }, { name: 'cat', lid: 2 }, { name: 'dog', lid: 3 }, ]; a.map((items) => { const { name } = items; console.log(name); });