gpt4 book ai didi

javascript - Javascript 中性别的动态对象值

转载 作者:行者123 更新时间:2023-12-01 11:12:03 25 4
gpt4 key购买 nike

我正在尝试编写从对象加载文本并以持续存在的方式随机分配性别的东西

const output = {
text: "He thought that his sweater would suit him"
}

我希望能够让对象在显示时随机显示“他认为他的毛衣适合他”或“她认为她的毛衣适合她”。为了解决这个问题而不必本质上创建两个不同的对象——一个用于男性,一个用于女性——我已经做到了这一点:

const gender = {
male: {
pronoun: "he",
possPronoun: "his",
possAdjective: "his",
object: "him",
moniker: "sir"
},
female: {
pronoun: "she",
possPronoun: "hers",
possAdjective: "her",
object: "her",
moniker: "ma'am"
}
};

function randGender (usage) { // Add lettercase functionality later
return Math.floor(Math.random()*2) == 1 ? gender.female[usage] : gender.male[usage]
}

console.log(randGender("pronoun"));

我遇到困难的地方是在此之后要做什么。

const output = {
text: `${randGender("pronoun")} thought that ${randGender("possAdjective")} sweater would suit ${randGender("object")}`
}

console.log(output.text); //she thought that his sweater would suit her

...当我希望将它保留给所有一种性别时,显然行不通。

我认为有一些变通方法,例如使用 output.text.male 和 output.text.female 以及在调用对象时随机执行一段操作。有什么方法可以按照我列出的方式进行吗?

感谢您的帮助!

最佳答案

您需要为性别返回整个内部对象而不是某些 Prop ,并且基于此您可以检索对象内部的 Prop :

function getRandGender() {
return Math.floor(Math.random() * 2) == 1 ? gender.female : gender.male
}

const randGender = getRandGender();

const output = {
text: `${randGender.pronoun} thought that ${randGender.possAdjective} sweater would suit ${randGender.object}`
}

关于javascript - Javascript 中性别的动态对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58982908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com