我正在检查数字数组是否为 pandigital在 JavaScript 中。简而言之,这意味着如果它是一个 9 位数字,那么它必须具有所有数字 1-9。我已经对数字数组进行了排序,并且有以下循环:
for(var i = 0; i < 9; i++) {
if(parseInt(digits[i]) != i+1) {
return false;
}
}
但我只是想知道以下是否会更快:
for(var i = 0; i < 9; i++) {
if(digits[i] != (i+1).toString()) {
return false;
}
}
我不确定哪个会更快。我觉得转换为字符串比解析为数字更快。我已经尝试运行一些测试,但我还没有真正得出任何结论:我的电脑很旧,结果到处都是。
哪个会更快,为什么?这种速度差异会随着数字的增加而增加吗?
编辑
digits
是经过排序的数字字符串数组,例如:
var digits = [ "1", "2", "3", "4", "5", "6", "7", "8", "9" ];
最佳答案
关于javascript - parseInt() 比 toString() 快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35563511/