我需要抓取一些小数组的元素并将它们放在一起组成一个更大的数组。但我不希望那些小数组成为大数组的元素。我只需要他们的元素。然后我需要从大数组中随机选择一个元素。通常,大数组将是:
Array.prototype.randomElement = function () {
return this[Math.floor(Math.random() * this.length)]
}
var small_1_array = [1,2,3,4];
var small_2_array = [5,6,7,8,9];
var small_3_array = [10,11,12];
var big_array = [small_1_array, small_2_array, small_3_array];
console.log("big_array is: " + big_array);
结果:
big_array is: 1,2,3,4,5,6,7,8,9,10,11,12
这种方式的问题是我只能选择一个小数组(一组数字),而不是它们的元素(只有一个数字)。例如:
console.log("a random number from big_array is: " + big_array.randomElement());
结果:
a random number from big_array is: 1,2,3,4
这是我能想到的解决方案:
var rearrange_array = (big_array.toString()).split(",");
console.log("rearrange_array is : " + rearrange_array);
结果:
rearrange_array is : 1,2,3,4,5,6,7,8,9,10,11,12
现在如果我执行:
console.log("a random number from rearrange_array is: " + rearrange_array.randomElement());
结果将是这样的:
a random number from rearrange_array is: 2
有没有其他方法可以将一些数组放在一起并且只能调用其中的一个元素?