javascript:数组除以值的有效方法
只是想知道,用标量划分数组最有效的方法是什么?我可以很清楚地对它进行循环,但在我的例子中,效率是最重要的 常见的琐碎方式:javascript:数组除以值的有效方法,javascript,arrays,performance,Javascript,Arrays,Performance,只是想知道,用标量划分数组最有效的方法是什么?我可以很清楚地对它进行循环,但在我的例子中,效率是最重要的 常见的琐碎方式: var array_2 = [] var array_1 = [original_data var divisor = my_scalar for(var i = 0, length = array.length; i < length; i++){ array_2.push(array[i]/divisor) } var数
var array_2 = []
var array_1 = [original_data
var divisor = my_scalar
for(var i = 0, length = array.length; i < length; i++){
array_2.push(array[i]/divisor)
}
var数组_2=[]
变量数组_1=[原始_数据]
var除数=my_标量
for(var i=0,length=array.length;i
我能使用的任何技巧(或新方法)
var newData = data.map(function(item) { return item/scalar }
你说过你想要最有效的方法。相当确定你正在做的事情很接近,但你想要的是分配而不是推送:
for(var i = 0, length = array.length; i < length; i++){
array_2[i] = array[i]/divisor;
}
for(var i=0,length=array.length;i
话虽如此:这与
map
之间的区别将非常小,这是一个非常罕见的重要用例。然而map
是清晰、简单、简短的…var array\u 2=array\u 1.map(i=>i/除数)
很酷尝试正确的方法away@tymeJV:是什么让你认为一堆函数调用会比一个for
循环更高效?(请注意,效率上的差异不太可能重要……)请注意,你常用的琐碎方法可能更高效(取决于你谈论的JavaScript引擎):数组_2[i]=数组[i]/除数
(非推送
)。这个答案描述了一种可能更有效的方法,但似乎没有得到广泛的支持。除此之外,提供的所有解决方案,无论是使用map
还是仅使用一个循环,在效率上都基本相同。这是一种效率非常非常非常低的方法,而不是更高的方法。坦率地说,被答案的快速性和精确性!我们将尝试两者。