Recibo un error al verificar que cualquier objeto tiene algún valor de una matriz usando Javascript. Estoy explicando mi código a continuación.
let arr = [ { "config": "as", "payload": "" }, { "config": "as", "payload": "xc" }, { "config": "", "payload": "xc" }, { "config": "", "payload": "" } ] let isNext = true; for(let i=0; i < arr.length; i++) { if(arr[i].config !== '' || arr[i].payload !=='') { isNext = false return; }else{ isNext = true; } } console.log('next', isNext); Aquí tengo una array of object y cada objeto tiene 2 key-value pair . Necesito dentro de la matriz, verificará si alguno de los objetos tiene algún valor tanto para la config como para la payload , entonces isNext será falso, de lo contrario será verdadero. pero según este código recibo el siguiente error.
Uncaught SyntaxError: Illegal return statement"
Por favor, ayúdame a resolver este problema.
Rompe el bucle en lugar de usar return, la palabra clave return utilizada para devolver valores de los métodos
let arr = [ { "config": "as", "payload": "" }, { "config": "as", "payload": "xc" }, { "config": "", "payload": "xc" }, { "config": "", "payload": "" } ] let isNext = true; for(let i=0; i < arr.length; i++) { if(arr[i].config !== '' || arr[i].payload !=='') { isNext = false break; }else{ isNext = true; } } console.log('next', isNext);no debe tener una declaración de return fuera del alcance de una función, si está tratando de escapar del bucle for use break en su lugar.
Su código es extraño porque no tiene ningún resultado.
¿Quizás quiera encontrar el primer objeto adecuado de su matriz?
Entonces el código será:
const arr = [ { "config": "as", "payload": "" }, { "config": "as", "payload": "xc" }, { "config": "", "payload": "xc" }, { "config": "", "payload": "" } ]; let result = null; let isNext = true; for(let i=0; i < arr.length; i++) { if(arr[i].config !== '' || arr[i].payload !=='') { isNext = false result = arr[i]; break; }else{ isNext = true; } } console.log('my result', result);O si desea verificar si alguno de los elementos es adecuado para su condición, puede hacer:
const result = arr.some(el => el.config || el.payload);O puede encontrar y devolver el primer elemento adecuado:
const result = arr.find(el => el.config || el.payload);