const people = [{
name: 'frank',
age: 20,
position: 'front-end-developer',
value: 7
},
{
name: 'craig',
age: 27,
position: 'back-end-developer',
value: 7
},
{
name: 'peter',
age: 23,
position: 'database-manager',
value: 6
},
{
name: 'andy',
age: 29,
position: 'full-stack-developer',
value: 9
}
];
const salaryGenerator = (person) => {
return '$' (person.value * 10 / 5 * 15 200)
};
const sentenceGenerator = (person) => {
return person.name ' is ' person.age ' who works as a ' person.position
}
const userNameGenerator = (person, ) => {
const randomWord = ['donec', 'pellentesque', 'facilisis', 'potenti']
return person.name (person.age * person.value 300) randomWord[Math.floor(Math.random() * randomWord.length)]
}
const salary = people.map(salaryGenerator)
const sentence = people.map(sentenceGenerator)
const userName = people.map(userNameGenerator)
console.log(salary)
console.log(sentence);
console.log(userName);
我想在randomWord. 我希望它像frank440donec并username在最后給每個名字一個不同的無意義詞,但它給所有名字一個不同的無意義詞,除了兩個被分配相同的無意義詞。
uj5u.com熱心網友回復:
如果目標是從一組名稱中隨機分配——避免重復——那么一個好的解決方案是對名稱進行洗牌......
// names must be at least the length of the people array
const names = ['donec', 'pellentesque', 'facilisis', 'potenti'];
shuffle(names);
const userNameGenerator = (person, index) => {
const randomWord = names[index];
const ageXValue = person.age*person.value 300;
return `${person.name}${ageXValue}${randomWord}`;
}
// shuffle based on https://stackoverflow.com/a/12646864/294949
function shuffle(array) {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i 1));
const temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
const people = [{
name: 'frank',
age: 20,
position: 'front-end-developer',
value: 7
},
{
name: 'craig',
age: 27,
position: 'back-end-developer',
value: 7
},
{
name: 'peter',
age: 23,
position: 'database-manager',
value: 6
},
{
name: 'andy',
age: 29,
position: 'full-stack-developer',
value: 9
}
];
console.log(people.map(userNameGenerator))
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/361795.html
標籤:javascript 数组
下一篇:C#:在佇列中存盤和寫入坐標
