在 JavaScript 中用 0 填充 2D 数组
Filling a 2D array with 0s in JavaScript
我一直在尝试用 JavaScript 填充 2D 数组,但我不断崩溃我的浏览器,所以我假设我有无限递归,但我似乎找不到我的错误。这是我的代码:
//The two sequences to compare
var sequence1 = "ATTGCTGACTTCA"
var sequence2 = "ATGCTACTA"
//Creates multi-dimensional array dependent on sequence lengths
var arr = new Array(sequence1.length + 1)
for (i = 0; i < sequence1.length + 1; i++) {
arr[i] = new Array(sequence2.length + 1);
}
//Fills array with 0s
for (i = 0; i < arr.length; i++) {
var col = i;
for (i = 0; i < arr[col].length; i++) {
arr[col][i] = 0;
}
}
当你填充数组时,你通过内部循环更改了 i 的值,并且在内部循环之后没有将其更改回它的原始值!不要在外部和内部循环中使用相同的变量名!
for (i = 0; i < arr.length; i++) {
var col = i;
for (i = 0; i < arr[col].length; i++) {
arr[col][i] = 0;
}
i = col;
}
你真的应该做什么:
for (i = 0; i < arr.length; i++) {
for (j = 0; j < arr[i].length; j++) {
arr[i][j] = 0;
}
}
您可以使用Array#from
、Array#map
和Array#fill
。
var arr = Array.from({
length: sequence1.length + 1
}).map(() => Array.from({
length: sequence2.length + 1
}).fill(0));
var sequence1 = "ATTGCTGACTTCA",
sequence2 = "ATGCTACTA";
//Creates multi-dimensional array dependent on sequence lengths
var arr = Array.from({
length: sequence1.length + 1
}).map(() => Array.from({
length: sequence2.length + 1
}).fill(0));
console.log(arr);
解释:
var arr = Array.from({
length: sequence1.length + 1
})
// Create an array of passed `length` of `undefined` elements
// map will iterate over all the elements of the array and update the value of each element
// Create new array and use this as the individual item in the main array
.map(() => Array.from({
length: sequence2.length + 1
}).fill(0));
相关文章:
- 匹配 2D 数组中的连续值
- 为什么用javascript覆盖2D数组的元素
- 在2D数组中动态推送新列
- 如何在javascript中创建一个空的2d数组?下面是我想要创建的一个示例
- 2D数组在Angular JS 1.2.x中工作,而不是在1.3.x中工作
- node.js上的过程性2d数组mongoDB插入内存不足
- 如何在 javascript 中删除 2d 数组中的行
- TypeError: matrix[y].push 在尝试使用 javascript 创建 2D 数组时不是一个函数
- 练习 2D 数组
- JavaScript 2d 数组导致“无法读取未定义的属性'未定义'”
- 如何在动态生成的 HTML 表中使用 2D 数组在 TD 标签中设置值
- 存储在 2D 数组中的 js 调用函数
- 将 2D 数组从 Code Behind 传递给 JavaScript
- 嵌套的 Jquery 每个 2D 数组错误地重复表单元格
- 如何在 2d 数组中找到 1d 数组
- 2d数组在ajax调用中崩溃
- 将具有类似数组内容的字符串转换为2D数组
- JavaScript将JSON存储在2D数组中
- ASP.NET MVC:2d数组在从javascript传递到MVC控制器操作后为null
- 当将从javascript客户端调用javaapi时,在javaapi中使用2d数组