我遇到过几次这个问题。如何将函数的输出而不是函数本身添加到 JavaScript 中的数组中。考虑以下:
function getRandomValue(){
returns a random number
}
myArray = [getRandomValue(), getRandomValue()];
是否可以只将随机数而不是函数本身添加到数组中?
我遇到过几次这个问题。如何将函数的输出而不是函数本身添加到 JavaScript 中的数组中。考虑以下:
function getRandomValue(){
returns a random number
}
myArray = [getRandomValue(), getRandomValue()];
是否可以只将随机数而不是函数本身添加到数组中?
您已经使用函数的返回值填充数组:
function getRandomValue(){
//returns a random number
}
var myArray = [getRandomValue(), getRandomValue()]; // Call the function
var myArray2 = [getRandomValue, getRandomValue]; // Reference to the function
标识符后面的括号导致函数被调用,它的返回值将放置在数组的适当索引处。
如果您删除如上所示的调用括号,您将使用对函数的引用填充数组,而不是它返回的值。
您可以使用变量。
var a = getRandomValue();
var b = getRandomValue();
myArray = [a,b];
但是,正如评论中所说,当您调用数组中的函数时,您将结果放入数组中,而不是函数本身。因此,您的行为与我的解决方案完全相同。
试试这个:如果你想要一个以上的值,只需将它放入一个循环中。
var myArray= [];
console.log(myArray.push(Math.random()));
另一种方法是使用 array_push 函数:
myarray.push(getRandomValue());