CodeMirror-在使用for ... in遍历数组时使用replaceRange时,“无法读取未定义的'chunkSize'属性'”

时间:2019-11-08 22:43:01

标签: javascript foreach codemirror for-in-loop

(我意识到用带有for ... in的数字索引遍历数组是不好的做法(explained here),但是我在这里看不到这有什么意义。我想了解为什么描述了这个问题我没有经验和技巧来阅读CodeMirror源代码,以找出不幸的地方。)

示例应用JSFiddle

这里生成了一个“ 2D数组”(array []),共3行,每行包含4个元素(3个数字和一个\ n字符)。我的目标是遍历整个“ 2D数组”并将每个字符放入CodeMirror编辑器中。

  • 如果单击“ for ... in”按钮,代码将执行数组的前两行,然后删除以下错误:

Uncaught TypeError: Cannot read property 'chunkSize' of undefined

  • 如果单击“适用于...的那个”按钮,您将获得正确的结果,没有错误。此函数与上一个函数之间的唯一区别是replaceRange方法的“ line”参数具有+1。 由于某种原因,它可以完美运行
  • 如果您点击“ forEach”按钮,一切将正常运行

通过反复试验,我发现“行”变量是问题所在。 所以我的问题是:

  1. 为什么使用“ for ... in”按钮会收到上述错误?
  2. 为什么我不能通过“ for ... in that work”按钮得到错误消息?

0 个答案:

没有答案