Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

176
Visualizações
Tengo un problema al ingresar datos en un objeto usando FOR

Tengo un objeto por el que quiero pasar usando el bucle FOR Porque quiero cambiar el objeto de acuerdo con mis necesidades

Aquí está mi objeto original.

Lo copié de console.log()

(7) [{…}, {…}, {…}, {…}, {…}, {…}, {…}]

 [ {Order: 14, Address: 100101, SKU: 'CJNSXZHL', CJ Quantity: '1', Store: 'go', …} {SKU: 'CJNSX', CJ Quantity: '1', CJ Product Name: 'bbb', __rowNum__: 2} {Order: 15, Address: 100102, SKU: 'CJNSXZN', CJ Quantity: '1', Store: 'go', …} {SKU: 'CJNS', CJ Quantity: '1', CJ Product Name: 'ddd', __rowNum__: 4} {Order: 16, Address: 100103, SKU: 'CJNSX', CJ Quantity: '1', Store: 'go', …} {SKU: 'CJNS', CJ Quantity: '1', CJ Product Name: 'fff', __rowNum__: 6} {Order: 17, Address: 100104, SKU: 'CJNSTX', CJ Quantity: 2, Store: 'go', …} ]

Ahora, lo que estoy tratando de hacer es verificar si, en cambio, yo en ORDEN tengo indefinido. Puede ver que en la primera fila está configurado en el segundo no y, si no, tome el valor que se encuentra en SKU en la segunda fila e insértelo en el lugar anterior de la matriz adjuntaré el código que escribí

 const arr = []; for ( let i=0 ; i <= items.length-1;i++) { try { if (items[i].Order !== undefined){ console.log(" have ",i) arr.push({ "CJ Order Number":items[i].Order, "Address":items[i].Address, "SKU":[items[i].SKU], }); } else if (items[i].Order === undefined){ console.log("dont have ",i) arr[i-1].SKU.push(items[i].SKU) } }catch (err){ console.log("err",i) } } console.log(arr)

Lo que sucede es que solo en la primera línea tiene éxito, pero en la tercera iteración se supone que debe ingresar a la segunda fila, no tiene éxito, aparece un error.

"Error de tipo: no se pueden leer las propiedades de undefined (leyendo 'SKU')"

Y lo extraño es que tiene éxito en la primera línea aquí El código de console.log()

Abrí la primera línea para que puedas ver el SKU que ingresó el valor de la siguiente línea

 (4) [{…}, {…}, {…}, {…}] 0: Address: 100101 CJ Order Number: 14 SKU: (2) ['CJNSXZHL', 'CJNSX'] [[Prototype]]: Object 1: {CJ Order Number: 15, Address: 100102, SKU: Array(1)} 2: {CJ Order Number: 16, Address: 100103, SKU: Array(1)} 3: {CJ Order Number: 17, Address: 100104, SKU: Array(1)} length: 4

También seguí paso a paso de cualquier integración

 have 0 1 'dont have' have 2 3 'dont have' err 3 have 4 5 'dont have' err 5 have 6
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

puedes hacerlo fácilmente con reduce

 const data = [{ Order: 14, Address: 100101, SKU: 'CJNSXZHL', 'CJ Quantity': '1', Store: 'go' }, { SKU: 'CJNSX', 'CJ Quantity': '1', 'CJ Product Name': 'bbb', __rowNum__: 2 }, { Order: 15, Address: 100102, SKU: 'CJNSXZN', 'CJ Quantity': '1', Store: 'go' }, { SKU: 'CJNS', 'CJ Quantity': '1', 'CJ Product Name': 'ddd', __rowNum__: 4 }, { Order: 16, Address: 100103, SKU: 'CJNSX', 'CJ Quantity': '1', Store: 'go' }, { SKU: 'CJNS', 'CJ Quantity': '1', 'CJ Product Name': 'fff', __rowNum__: 6 }, { Order: 17, Address: 100104, SKU: 'CJNSTX', 'CJ Quantity': 2, Store: 'go' } ] const result = data.reduce((res, item) => { if (item.Order) { return [...res, {...item, SKU:[]}] } const lastOrder = res[res.length - 1] res[res.length - 1].SKU = [...(lastOrder.SKU || []), item] return res }, []) console.log(result)

about 4 years ago · Juan Pablo Isaza Relatório

0

Con suerte, esto es lo que está tratando de hacer, podría intentar hacerlo de esta manera, aunque podría haber mejores soluciones.

 const arr = []; const items = [ { Order: 14, Address: 100101, SKU: "CJNSXZHL", CJ_Quantity: "1", Store: "go", }, { SKU: "CJNSX", CJ_Quantity: "1", CJ_Product_Name: "bbb", __rowNum__: 2 }, { SKU: "CJNSXZN", Order: 15, Address: 100102, CJ_Quantity: "1", Store: "go", }, { SKU: "CJNS", CJ_Quantity: "1", CJ_Product_Name: "ddd", __rowNum__: 4 }, { Order: 16, Address: 100103, SKU: "CJNSX", CJ_Quantity: "1", Store: "go" }, { SKU: "CJNS", CJ_Quantity: "1", CJ_Product_Name: "fff", __rowNum__: 6 }, { Order: 17, Address: 100104, SKU: "CJNSTX", CJ_Quantity: 2, Store: "go" }, ]; for (let i = 0, j = 1; i <= items.length - 1; i++) { try { if (items[i].Order) { arr.push({ "CJ Order Number": items[i].Order, Address: items[i].Address, SKU: [items[i].SKU], }); } else { arr[j-1].SKU.push(items[i].SKU); j++; } } catch (err) { console.log("err", err); } } console.log(arr);

about 4 years ago · Juan Pablo Isaza Relatório

0

 let items = [{ Order: 14, Address: 100101, SKU: 'CJNSXZHL', 'CJ Quantity': '1', Store: 'go', }, { SKU: 'CJNSX', 'CJ Quantity': '1', 'CJ Product Name': 'bbb', __rowNum__: 2 }, { Order: 15, Address: 100102, SKU: 'CJNSXZN', 'CJ Quantity': '1', Store: 'go', }, { SKU: 'CJNS', 'CJ Quantity': '1', 'CJ Product Name': 'ddd', __rowNum__: 4 }, { Order: 16, Address: 100103, SKU: 'CJNSX', 'CJ Quantity': '1', Store: 'go' }, { SKU: 'CJNS', 'CJ Quantity': '1', 'CJ Product Name': 'fff', __rowNum__: 6 }, { Order: 17, Address: 100104, SKU: 'CJNSTX', 'CJ Quantity': 2, Store: 'go' }, ]; const arr = []; for (let i = 0; i <= items.length - 1; i++) { if (items[i].Order) { arr.push({ 'CJ Order Number': items[i].Order, Address: items[i].Address, SKU: [items[i].SKU], }); } else { arr[arr.length - 1].SKU.push(items[i].SKU); // the last element } } console.log(arr);
 Try this.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda