javascript - 为什么我不能在阵列上推送数据?
问题描述
你能告诉我为什么这段代码会产生错误吗?我想创建一个多维数组
const segments = ['avgekcr', 'efgghe', 'ewlskffd'];
console.log(segments)
let cols = [];
let currSegment, currLetter;
for (let i = 0; i < segments.length; i += 1) cols.push([]);
console.log(cols[2])
//cols.push([])
console.log(cols.length + ' :L')
for (let j = 0; j < segments.length; j += 1) {
currSegment = segments[j];
for (let k = 0; k < currSegment.length; k += 1) {
currLetter = currSegment[k]
cols[k].push(currLetter);
}
}
错误:
未捕获的类型错误:无法读取未定义的属性“推送”
解决方案
您使用错误的索引推送,更正了代码。
const segments = ['avgekcr', 'efgghe', 'ewlskffd'];
console.log(segments)
let cols = [];
let currSegment, currLetter;
for (let i = 0; i < segments.length; i += 1) cols.push([]);
console.log(cols[2])
//cols.push([])
console.log(cols.length + ' :L')
for (let j = 0; j < segments.length; j += 1) {
currSegment = segments[j];
for (let k = 0; k < currSegment.length; k += 1) {
currLetter = currSegment[k]
cols[j].push(currLetter);
}
}
console.log(cols)
推荐阅读
- jquery - 确定哪个 div 滚动到顶部
- ios - Swift 5.2.4 编译器无法导入使用 Swift 5.1.2 编译的模块
- c++ - 使用向量对堆栈进行排序
- pyspark - 在数据块上提取 tar.gz
- android - 终端中的「adb logcat」和应用程序中执行的「Runtime.getRuntime.exec(“logcat”)」有什么区别?
- java - JFrame的下边框不出现
- python - 如何从 web_studio 继承模型
- python - 比较数据框中的两个日期时间列并返回一个标志
- mysql - 根据相关表中的数据从表中获取数据列表,不重复
- angular - 角材料形式不起作用 - mat-form-field 必须包含 MatFormFieldControl