是否应该在for循环中将数组的长度分配给另一个变量?

时间:2018-11-05 22:46:05

标签: javascript

我正在学习Javascript,这里的for循环看起来与C中的完全相同。我想知道的是,是否应将字符串的长度分配给循环中的另一个变量。我通常在C中遍历char数组时执行此操作,因此循环不必每次迭代都调用strlen

for (int i = 0, n = strlen(word); i < n; i++)
{
    // code block
}

我从以下教程中看到的是,在Java语言中只编写了一个for循环,而没有分配变量的数组长度:

for (let i = 0; i < arr.length; i++) {
    // code block
}

将数组的长度分配给Javascript中的变量是否有好处?

1 个答案:

答案 0 :(得分:7)

没有好处,不像在C语言中那样重要,因为arr.length是静态属性,也就是说,它不被计算,与strlen不同,rownames = c("dummy", "dummy", "dummy", "dummy", "dummy", "dummy","dummy", "dummy", "dummy", "dummy") corr_truth = c(-0.39, -0.13, 0.28, -0.49, -0.14, 0.52, 0.43, 0.22, -0.29, -0.02) corr_pred= c(-0.41, 0.01, 0.36, -0.38, -0.28, 0.44, 0.26, 0.24, -0.38, -0.23) corr_complete = data.frame(rownames, corr_truth,corr_pred) plot_corr_complete = ggplot(data = corr_complete, aes(corr_truth, corr_pred, label = rownames)) + geom_point() + xlim(-0.5,0.7) + ylim(-0.5,0.7) + geom_text_repel() + geom_smooth(method = "lm", se = FALSE, color = "black") plot_corr_complete 会在每次调用时计算长度。

编辑:see for yourself,这是一个有争议的问题,但似乎直接访问该属性是最快的