在 JDK 中查看集合代码时,无论在哪里使用循环,都以相反的方式完成,如下所示:
for (int i = size-1; i >= 0; i--) {...}
Run Code Online (Sandbox Code Playgroud)
是否有任何与性能相关的东西,或者只是 JDK 像这样采用了它?
我有一个由几个单词组成的数组,我找到了一个特定的单词.我目前的解决方案,如下所示,适用于小阵列.但是如果这个数组包含10,000个单词,那么我的解决方案需要大量的内存和CPU资源,因为它不够高效.如何在性能方面使代码更好,并且在JavaScript中为大型数组占用更少的资源?
var words = ['apple', 'orange', 'ananas', 'banana', 'mango', 'lemon', 'tomato'];
function search (term) {
for (var i = 0, len = words.length; i < len; i++) {
if (words[i] === term) {
console.log(words[i] + ' is found at ' + i);
}
}
}
search('tomato');
Run Code Online (Sandbox Code Playgroud) 在下面的代码示例中,我得到一个奇怪的行为
var data = ['xxx', 'yyy'];
for (var i in data)
{
var a = i;
var b = data[i];
}
Run Code Online (Sandbox Code Playgroud)
两个第一次迭代工作得很好.我得到的指数"0"和"1"中i,但随后循环一个额外的时间和现在i是"sum".这是设计还是这个额外的迭代用于什么?在我的情况下,结果总是空的,它会弄乱我的代码.有没有办法不做他的额外循环?
BR安德烈亚斯
我有这个简单的数组
var array = ['x.89999', 'y.sisisis', 'x.585858'];
Run Code Online (Sandbox Code Playgroud)
我想删除以'x'开头的数组中的所有项目.所以要返回这个数组:
['y.sisisis']
Run Code Online (Sandbox Code Playgroud)
如何在不必循环或遍历整个阵列的情况下执行此操作?(我知道这可能不可能,所以不要介意,如果不可能的话)
我可以使用一些内置/本机代码吗?
谢谢