我有這個代碼
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`);
逐行產生多個輸出 像這樣:
約翰·杜
阿爾弗雷德·潘尼沃
米歇爾·李
我需要從這個輸出創建一個陣列,隨機化這個陣列,機器人必須從陣列中只說一個隨機名稱。請注意姓名數量可能不同
PS 我嘗試使用 split 但得到 3 個不同的陣列而不是一個。
uj5u.com熱心網友回復:
您可以filter洗掉不是您的成員,然后map在該物件陣列上創建一個名稱串列。然后從該陣列中選擇一個隨機名稱。
bot
.webex
.memberships
.list({roomId: bot.room.id})
.then(logRandomName);
這是一個基于您的代碼的作業示例。
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);
uj5u.com熱心網友回復:
首先,在這個問題中解釋了從陣列中獲取隨機元素。
只顯示一個隨機元素,這不是你自己的名字,那么這應該適合你。既然memberships.items已經是一個陣列,那么我們可以直接從中提取一個隨機元素。
示例代碼:
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}`)
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/369997.html
標籤:javascript 节点.js 数组
