Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

138
Vistas
Cómo crear una matriz a partir de múltiples salidas node.js

tengo este codigo

 bot.webex.memberships.list({roomId: bot.room.id}) .then((memberships) => { for (const member of memberships.items) { if (member.personId === bot.person.id) { // Skip myself! continue; } let names = (member.personDisplayName) ? member.personDisplayName :member.personEmail; bot.say(`Hello ${member.personDisplayName`);

Que producen múltiples salidas línea por línea como esta:

Juan Dou

alfredo pennivor

michel lee

Necesito crear una matriz a partir de esta salida, aleatorizar esta matriz y el bot debe decir solo un nombre aleatorio de la matriz. Tenga en cuenta que el número de nombres puede ser diferente

PD: trato de usar split pero obtengo 3 matrices diferentes en lugar de una.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Primero, en esta pregunta se explica cómo tomar un elemento aleatorio de una matriz.

Para mostrar solo un elemento aleatorio, que NO es su propio nombre, entonces esto debería funcionar para usted. Dado que memberships.items ya es una matriz, podemos extraer directamente un elemento aleatorio de ella.

Código de ejemplo:

 bot.webex.memberships.list({roomId: bot.room.id}) .then((memberships) => { let member // take random member and repeat until it's not the current user. do { const items = memberships.items // get random element // https://stackoverflow.com/questions/5915096/get-a-random-item-from-a-javascript-array/5915122#5915122 member = items[Math.floor(Math.random()*items.length)]; } while(member.personId === bot.person.id); bot.say(`Hello ${member.personDisplayName}`) })
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede filter los miembros que no son usted y luego map esa matriz de objetos para crear una lista de nombres. Luego selecciona un nombre aleatorio de esa matriz.

 bot .webex .memberships .list({roomId: bot.room.id}) .then(logRandomName);

Aquí hay un ejemplo de trabajo basado en su código.

 const bot = { person: { id: 4, name: 'Joe' } }; const memberships=[{personId:1,name:"Fozzie Bear"},{personId:2,name:"Carlos The Jackal"},{personId:3,name:"Bob From Accounting"},{personId:4,name:"Joe"},{personId:5,name:"Gunther"},{personId:6,name:"Ali"},{personId:7,name:"Renaldo"}]; function logRandomName(memberships) { // First `filter` over the memberships array to // to produce a new array that doesn't contain the // member object that matches the bot.person.id const names = memberships.filter(member => { return member.personId !== bot.person.id; // And then `map` over that array to return an // array of names }).map(member => member.name); const rnd = Math.floor(Math.random() * names.length); // Then pick a random name from the names array console.log(`Hallo ${names[rnd]}`); } logRandomName(memberships);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda