Quiero usar un JSON y agregar todos los ID en una cadena, pero tengo algunos problemas. Soy bastante nuevo en el trabajo con objetos JSON, así que explique cómo funciona si tiene alguna idea.
Quiero convertir esto:
let users = [ {"id":"24317318904217xxxx","name":"person 1"}, {"id":"69336408842371xxxx","name":"person 2"} ] var str = `ID\'s `A algo como esto:
`ID's: <@24317318904217xxxx>, <@69336408842371xxxx>`¡Gracias por adelantado!
Puede usar el método map() en javascript para crear esta estructura.
Básicamente, crea una matriz con una cadena de plantilla de uso, luego la empuja dentro de su variable de matriz y la modifica.
1 - Crea una matriz con el uso de tus datos
str = users.map(user => `@${user.id}`)2 - Agregue el texto 'ID' en su variable y use el método join () para convertir sus datos como una cadena
str = `ID\s ${str.join(', ')}`¡Que tengas un buen y productivo día!
Código completo:
let users = [{ "id": "24317318904217xxxx", "name": "person 1" }, { "id": "69336408842371xxxx", "name": "person 2" } ] str = users.map(user => `<@${user.id}>`) str = `ID\s ${str.join(', ')}` console.log(str)Cuando es nuevo en JS, puede comenzar con un bucle for simple sobre la matriz de usuarios como este:
let users = [ {"id":"24317318904217xxxx","name":"person 1"}, {"id":"69336408842371xxxx","name":"person 2"} ] let str = "ID's: "; for (let i = 0; i < users.length; i++) { str += `<@${users[i].id}>`; if (i < users.length - 1) str += ", "; } Para acceder al i-ésimo objeto en la matriz (0-indexado) use users[i] ;
Para acceder a la propiedad 'id' de un objeto, simplemente use object.id . Lo mismo con el nombre y todas las demás propiedades.
Lea más: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object
La concatenación de cadenas puede parecerle un poco extraña, es una plantilla de cadena, consulte: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
La otra respuesta usa map and join , sobre lo que puede leer más en el artículo de array mdn. Le recomiendo que lo lea, ya que el código Javascript a menudo usa estas funciones, pero es posible que necesite acostumbrarse a las personas que solo escribieron código iterativo.
Si tiene alguna otra pregunta, no dude en preguntar en los comentarios.