Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数,用于创建具有子序列的数组_Javascript_Arrays_For Loop_Foreach - Fatal编程技术网

Javascript 函数,用于创建具有子序列的数组

Javascript 函数,用于创建具有子序列的数组,javascript,arrays,for-loop,foreach,Javascript,Arrays,For Loop,Foreach,我有一个创建子数组的函数。它需要三个参数:要在数组numSub中创建的子列数、所需值在每个子数组numValue中出现的次数以及所需值 例如,如果我用3,2,test调用函数,我希望得到以下输出: Array [Array ["test", "test"], Array ["test", "test"], Array ["test", "test"]] 以下是我编写的函数: 函数subarsnumsub,numValue,value{ 设arr=[]; 对于设i=0;i

我有一个创建子数组的函数。它需要三个参数:要在数组numSub中创建的子列数、所需值在每个子数组numValue中出现的次数以及所需值

例如,如果我用3,2,test调用函数,我希望得到以下输出:

Array [Array ["test", "test"], Array ["test", "test"], Array ["test", "test"]]
以下是我编写的函数:

函数subarsnumsub,numValue,value{ 设arr=[]; 对于设i=0;iconsole.LogSubars3,2,“测试” 您正在填充一个空数组。它仍然是一个空数组,无需填充

您应该构造具有一定长度的数组:

arr.push(new Array(numValue));
完成:

function subarrs(numSub, numValue, value) {
  let arr = [];
  for (let i = 0; i < numSub; i++) {
    arr.push(new Array(numValue));
  }
  arr.forEach(function(sub) {
    sub.fill(value);
  });
  return arr;
}

console.log(subarrs(3, 2, 'test'));
仅修改数组值。它不会添加新的。再次使用推送

函数subarsnumsub,numValue,value{ 设arr=[]; 对于设i=0;i 让myEmptyArray=[]; 让myFullArray=[1,2,3,4]; myEmptyArray.fill0,0,4; myFullArray.fill0,0,4; console.logmyEmptyArray,myFullArray您可以使用.push方法向数组中添加值。填充,请参阅工作演示:

函数subarsnumsub,numValue,value{ 设arr=[]; 对于设i=0;i 函数subarsnumsub,numValue,value{ 返回Array.from{length:numSub},=>ArraynumValue.fillvalue; }
console.LogSubars3,2,“测试” 如果您有es2015+软件,您可以轻松完成:

const subarrs = (length, subLength, value) => 
    [...Array(length)].map(() => [...Array(subLength)].fill(value));

subarrs(3, 2, 'test');

在第一条评论后编辑

感谢@trincot的评论!我修好了,它应该能正常工作