2014-06-22 6 views
0

아래의 두 가지 forEach 문은 무엇을 수행합니까? 'col'은 배열을위한 내장 속성입니까?아래의 .forEach 문은 무엇을합니까?

var width = data.length, height = data[0].length; 
    data.forEach(function(col){ 
    col.forEach(function(val){ 
     geometry.vertices.push(new THREE.Vector3(val.x,val.y,val.z)) 
     colors.push(getColor(2.5,0,val.z)); 
    }); 
    }); 

경우는 이전 코드의 일부가 요구된다 :

var data = new Array(); 
    for(var x=BIGIN;x<END;x++){ 
    var row = []; 
    for(var y=BIGIN;y<END;y++){ 
     z = 2.5*(Math.cos(Math.sqrt(x*x+y*y))+1); 
     row.push({x: x, y: y, z: z}); 
    } 
    data.push(row); 
    } 
+0

여기를 참조하십시오 반복 것 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach – elclanrs

답변

1

Array.forEach 반복 배열을 통해, 단지 for 루프 등을 포함한다.

array.forEach(function(indice) {}); 

data가 배열의 배열, col는 제 forEach로부터 전달 인자이므로 data 내의 두번째 forEach 반복 배열이다.

그것은뿐만 아니라

var data = []; // data is an array 
... 
var row = []; // row is an array 
for(var ...){ 
    // do stuff 
} 
data.push(row); // put one array inside the other 

data를 생성 코드에서 명백하고는

data.forEach(function(col){ // <- col is passed as the argument 
    col.forEach(function(val){ 
     // do stuff 
    }); 
}); 
관련 문제