Estoy tratando de combinar un poco 3 matrices para crear una nueva. Así que el resultado final es
<li>array1[0]array2[0]array3[0]</li>Intenté un ciclo for pero termina con 27 respuestas y solo debería haber 2 con los datos que tengo.
// const ingredientsList = () => { // for (let i = 0; i < recipe.ingredients.length; i++) { // for (let j = 0; j < recipe.size.length; j++) { // for (let k = 0; k < recipe.amount.length; k++) { // console.log(recipe.amount[k], recipe.size[j], recipe.ingredients[i]); // <li> // {recipe.amount[k]} // {recipe.size[j]} // {recipe.ingredients[i]} // </li>; // } // } // } // };Agradecería mucho la ayuda de cualquiera. Actualmente estoy trabajando en reactjs. Cada matriz tiene la misma longitud. Tengo 3 matrices: lista de ingredientes, cantidad y tamaño. Así que quiero combinarlos para que se lean sin problemas, como "1 taza de harina".
La forma en que recorre las tres matrices terminará como tal (en pseudocódigo):
Como no estoy seguro exactamente de lo que desea, tendré que asumir que son matrices de la misma longitud para que pueda hacer:
for(let i = 0; i < recipe.amount.length; i++) { console.log(`${recipe.amount[i]} ${recipe.size[i]} ${recipe.ingeredients[i]}`) }Esto debería permitirle registrar los resultados apropiados, luego simplemente cree los elementos de la lista html.
Si entiendo correctamente según el código de la pregunta, tiene tres matrices (ingredientes, tamaño, cantidad).
Si cada una de las matrices tiene la misma longitud y los datos de cada índice corresponden a los datos en el mismo índice de los demás, puede escribir un bucle utilizando la longitud de una de ellas y pasar el mismo índice a cada matriz como...
for (let i = 0; i < recipe.ingredients.length; i++) { console.log( recipe.ingredients[i], recipe.size[i], recipe.amount[i], ); } Sin embargo, dado que está trabajando en reaccionar, si usted mismo tiene control sobre los datos, probablemente tendría más sentido almacenar cada instrucción en un objeto en una matriz de recipe , luego mapear sobre esa matriz y crear el elemento de lista como ... .
En algún lugar del componente podría ser algo como...
this.recipe = [ { ingredient: 'something', amount: 'some amount', size: 'some size', }, { ingredient: 'something', amount: 'some amount', size: 'some size', },{ ingredient: 'something', amount: 'some amount', size: 'some size', } ]y en la plantilla...
{ recipe.map((instruction) => ( <li> { instruction.amount } { instruction.size } { instruction.ingredient } </li> )); }const emp1 = ["Cecilia", "Solitario"]; const emp2 = ["Emil", "Tobías", "Linus"];
const allEmp = emp1.concat(emp2);
puede intentar usar la palabra clave concat para fusionar matrices. En caso de más de dos matrices, puede usar
emp3 = ["juan", "encaje"]
const allEmp = emp1.concat(emp2, emp3);