imagine 저는 두 부분으로 구성된 그리드처럼 탁월합니다.인덱스 배열을 기반으로 변수를 프로그래밍 방식으로 선언합니다 (Google 사이트 목록 페이지 작업)
열과 목록.
열은 열이며,이 목록은 행의 모든 전체 컬렉션이다. .length로 내 열 목록을 가져올 수 있으며 목록의 .length는 나에게 행 수를 제공합니다.
그래서 지금 x와 y가 있습니다.
나는 이런 식으로 뭔가를 작동 것이라고이에서 개체를 만들려면 :
문제는 목록의 길이가 변경 될 수 있다는 점이다. 이 접근 방식을 볼 수있는 유일한 방법은 프로그래밍 방식으로 변수를 만드는 것입니다. 그렇게 (가짜 코드)
//Variables
var itemName
//Get Column Names
for (var j in columns) { //columns is an object/array
var cName =columns[j].getName(); //I have to get the name otherwise cName just returns as ListItem
columnList.push(cName); //Push cName to my own array so I have an array of strings
}
for (var i in listItems) { //Again working with an object array
item = listItems[i] //Creating an easier reference variable
for (var j = 0; j < columnList.length - 1;j++){ //now I have to use the length of the Column array to find out how wide our list is
itemName = item.getValueByName(columnList[j]); //turning the listitem into a string
row(i).push(itemName); //the is the programmatic variable.
}
}
문제는 어디에서 변수를 선언 할 것인가가 확실하지 않다는 것입니다. List 배열을 반복하고 listItems 배열의 각 인덱스를 여기 getValueByName (columnList [j])에서 수행중인 열의 인덱스와 일치시키는 다른 방법이 있습니까?
****************************** 편집 *************** *****************
예는 요청 된 나는이 혼란 것이 얼마나 볼 수 있습니다. 이것은 특별히 Google 사이트를 다루고 있습니다.
위의 코드에도 주석을 추가했습니다.
그리드가 있습니다.이 그리드는 실제로 두 부분입니다. 이 열은 왜 다른 배열을 생성하고 배열에 이름을 넣는 지 객체입니다. 목록은 또 다른 객체입니다. (LI = lineItem)
루프를 반복하여 각 행을 자체 배열로 분할 할 수 있어야합니다.
한 번에 하나씩 성공적으로 할 수있었습니다. 그러나 행마다 하나의 배열을 갖고 행의 수가 동적이기 때문에 (사용자가 행을 더 추가 할 수 있기 때문에) 어떻게 설명 할 것인지 혼란 스럽습니다.
I는 전체 격자 열 특성 및 배열되어 열 특성을 갖는 물체로서 존재하고 싶다. 그래서 row0는 row0 [LI1, LI2, LI3, LI4]Columns[]~~>|Col1|Col2|Col3|Col4| ~~~~~~~|
row0[]~~~~~>|LI1 |LI2 |LI3 |LI4 | ~~~~~~~|
row1[]~~~~~>|LI1 |LI2 |LI3 |LI4 | ~~~~~~~|ObjList
row2[]~~~~~>|LI1 |LI2 |LI3 |LI4 | ~~~~~~~|
가 다시 그리드의 폭
Column.length
이며 행수
itemList.length
의해 정의 될 수있을 것이다
그래서 배열의 배열을 가질 수 있습니까?
그래서
//Variables
var itemName;
var masterArray = [];
var midArray = [];
//Get Column Names
for (var j in columns) {
var cName =columns[j].getName();
columnList.push(cName);
}
for (var i in listItems) {
item = listItems[i]
for (var j = 0; j < columnList.length - 1;j++){
itemName = item.getValueByName(columnList[j]);
midArray.push(itemName);
if (midArray > columnLisst.length -1) {
masterArray.push(midArray);
midArray.length = 0;
}
}
}
그것은 비록 투박하고 잘못된 느낌이있을 수 있습니다.
몇 가지 샘플 데이터로 설명 할 수 있습니까? 귀하의 예를 전혀 이해가 안 : ( – thefourtheye
추가 설명을 추가했습니다. – JForgie