gpt4 book ai didi

javascript - 在 JS 中使用函数获取随机数并重复使用该数字

转载 作者:行者123 更新时间:2023-12-01 02:05:26 24 4
gpt4 key购买 nike

我试图在对象内的数组中获取随机元素。我想将该随机元素重用于对象中的另一个属性。

问题是每次我调用该函数时,该函数都会尝试再次生成随机数。

例如,object.randomWord() 将返回与 object.wordSplit() 不同的结果。

如何确保所有属性引用相同的随机元素?

谢谢。

var object = {
wordArray: ["falconheavy", "roadster", "tesla", "openai"],
randomWord: function() {
return this.wordArray[Math.floor(Math.random() * this.wordArray.length)];
},
wordSplit: function() {
return this.randomWord().split('');
},
}
console.log(object.randomWord()); //"falconheavy"
console.log(object.wordSplit()); // ["t","e","s","l","a"]

最佳答案

一种方法,在您的代码中您也可以这样做

演示

var object = {
wordArray: ["falconheavy", "roadster", "tesla", "openai"],
randomWord: function() {
this.randomNo = this.wordArray[Math.floor(Math.random() * this.wordArray.length)];
return this.randomNo;
},
wordSplit: function() {
return (this.randomNo||'').split('');
}
}

console.log(object.randomWord());
console.log(object.wordSplit());
.as-console-wrapper {max-height: 100% !important;top: 0;}

另一种方式,正如您使用方法 randomWord()wordSplit() 一样。在 wordSplit() 内部,您再次获得随机数,因此您可以首先获得随机数并将其存储在变量中,然后再次将该值传递到 wordSplit() 进行拆分。

演示

var object = {
wordArray: ["falconheavy", "roadster", "tesla", "openai"],
randomWord: function() {
return this.wordArray[Math.floor(Math.random() * this.wordArray.length)];
},
wordSplit: function(v) {
return v.split('');
}
}
let result = object.randomWord();
console.log(result);
console.log(object.wordSplit(result));
.as-console-wrapper {max-height: 100% !important;top: 0;}

关于javascript - 在 JS 中使用函数获取随机数并重复使用该数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50140660/

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