jac*_*i_g 3 javascript arrays foreach multidimensional-array
我有一个数组,哪些元素也是数组,每个数组包含3个元素.我想function calcMe(a,b,c){...}使用forEach()方法调用我的主数组的每个元素,但我真的很困惑,不知道如何让它工作.
arr = [[1,5,4],[8,5,4],[3,4,5],[1,2,3]]
function calcMe(a,b,c){...}
arr.forEach(calcMe.Apply(-----,-----));
Run Code Online (Sandbox Code Playgroud)
如何使用每个内部数组的元素作为参数传递给我的函数Apply()?
apply立即调用函数,因此您不能直接使用它,因为forEach需要函数引用.但是,您可以使用bindon apply来实现您想要的效果:
arr.forEach(Function.apply.bind(calcMe, void 0));
Run Code Online (Sandbox Code Playgroud)
第二个参数将是this值.你可以提供任何价值而不是void 0.
var arr = [[1,5,4],[8,5,4],[3,4,5],[1,2,3]];
function calcMe(a,b,c){
document.querySelector('pre').textContent += [a,b,c] + '\n';
}
arr.forEach(Function.apply.bind(calcMe, void 0));Run Code Online (Sandbox Code Playgroud)
<pre></pre>Run Code Online (Sandbox Code Playgroud)