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 - Fatal编程技术网

在JavaScript中填充数组

在JavaScript中填充数组,javascript,arrays,Javascript,Arrays,JavaScript: 我正在尝试填充一个数组 var blocks = []; var blocksCount = 7; for (var columnIndex = 0; columnIndex < blocksCount; columnIndex++) { for (var rowIndex = 0; rowIndex < blocksCount; rowIndex++) { blocks[columnIndex][rowIndex] = 'Some Valu

JavaScript:

我正在尝试填充一个数组

var blocks = [];
var blocksCount = 7;


for (var columnIndex = 0; columnIndex < blocksCount; columnIndex++) {
  for (var rowIndex = 0; rowIndex < blocksCount; rowIndex++) {

    blocks[columnIndex][rowIndex] = 'Some Value';

  }
}
var块=[];
var blockscont=7;
对于(var columndex=0;columndex
错误消息显示:
未定义不是对象


要使其工作,我必须更改什么?

在尝试将值分配给该数组的属性之前,必须将数组分配给
块[columnIndex]

在尝试将值分配给该数组的属性之前,必须将数组分配给
块[columnIndex]

块[columnIndex]为其上的
行索引指定值时,
未定义。不能为尚未定义的对象赋值。因此,当尚未定义
columnIndex
时,即首次将其定义为空数组。你可以这样做

blocks[columnIndex] = blocks[columnIndex] || [];
var块=[];
var blockscont=7;
对于(var columndex=0;columndex控制台日志(块)
块[columnIndex]
在为其上的
行索引赋值时未定义。不能为尚未定义的对象赋值。因此,当尚未定义
columnIndex
时,即首次将其定义为空数组。你可以这样做

blocks[columnIndex] = blocks[columnIndex] || [];
var块=[];
var blockscont=7;
对于(var columndex=0;columndex控制台日志(块)当前,您没有多维数组

var arr = [];
console.log(arr[0]);
将返回
undefined
,此时您正试图分配新元素

您可以克服这个问题,在第一个
for
循环语句中创建多维数组,并在原始
块中创建新数组

 blocks[columnIndex] = [];
然后可以将这两个值分配给多维数组

var arr = [];
console.log(arr[0]);
var块=[];
var blockscont=7;
对于(var columndex=0;columndex}
当前,您没有多维数组

var arr = [];
console.log(arr[0]);
将返回
undefined
,此时您正试图分配新元素

您可以克服这个问题,在第一个
for
循环语句中创建多维数组,并在原始
块中创建新数组

 blocks[columnIndex] = [];
然后可以将这两个值分配给多维数组

var arr = [];
console.log(arr[0]);
var块=[];
var blockscont=7;
对于(var columndex=0;columndex}
您可以使用
数组的
构造函数中的
将函数传递到数组创建中。这意味着不需要对
循环执行

const blockCount=7;
const block=Array.from({length:blockCount},(\ux,i)=>{
返回Array.from({length:blockCount},(\uj)=>'Some Value');
});

控制台日志(块)
您可以使用
数组的
构造函数
将函数传递到数组创建中。这意味着不需要对
循环执行

const blockCount=7;
const block=Array.from({length:blockCount},(\ux,i)=>{
返回Array.from({length:blockCount},(\uj)=>'Some Value');
});

控制台日志(块)
你能解释为什么吗?@Timo-因为你不能给
未定义的
属性赋值,你能解释为什么吗?@Timo-因为你不能给
未定义的
属性赋值什么是
|
?它是一个
操作符,意思是,如果定义了
|
左侧的值,则该值将分配给
块[columnIndex]
,或者其值将是右侧的值,即
[]
没有问题。很乐意提供帮助:)什么是
|
。很乐意帮助:)您在哪里运行此代码?Chrome和Node 6.9.1 report
都无法设置未定义的属性“0”。您在哪里运行此代码?Chrome和Node 6.9.1 report
都无法设置未定义的属性“0”。