아래 코드로 배열을 만듭니다.jQuery : 배열의 각 항목에 대한 변수를 만드는 방법
단일 함수는 지금까지 잘 작동하지만 루프의 유일한 문제점은 배열의 각 항목에서 변수 (nameX 및 dataX)를 동적으로 만드는 방법입니다.
예 : 내 배열은 [item1,item2,item3]
입니다. 이 경우 변수는 name1, data1, name2, data2, name3, data3이어야합니다 (nameX 및 dataX는 현재 여기에있는 자리 표시 자 임).
내 코드 :
//get unique items
var inputSearch = new Array();
$('td.searchTerm').each(function() {
if(($(this).text() != '') && ($(this).text() != ' ')) {
if(inputSearch.indexOf($(this).text()) == -1) {
inputSearch.push($(this).text());
}
}
});
//loop through array to get volumes per item
var i;
for (i = 0; i < inputSearch.length; i++) {
var nameX = inputSearch[i].replace(/\s+/g, '');
var dataX = [];
var xSum = 0;
$('#myTable tbody tr').each(function() {
if ($(this).find('td:contains(' + nameX + ')').length === 0) {
dataX.push(0);
} else {
xSum = 0;
$(this).find('td:contains(' + nameX + ')').each(function() {
xSum += parseInt($(this).next('td').text());
});
dataX.push(xSum);
}
});
}
업데이트 :
window['name' + i.toString()] = inputSearch[i].replace(/\s+/g, '');
많은 감사를위한 : 동적으로 이름 변수를 만드는 방법, 이제 데이터 만 변수가 누락을 발견 이 모든 도움, 팀.
* "이 경우 변수는 name1, data1, name2, data2, name3, data3"이어야합니다. * 가장 원하지 않는 항목입니다. – Tomalak
그들이 어떻게 호출되는지는 중요하지 않지만 서로를 겹쳐 쓰지 않도록 서로 다른 이름을 지정해야합니다. – user2571510
당신은 여전히 그것을 원하지 않습니다. 어떤 종류의 번호가 매겨진 변수를 사용하고 싶지는 않습니다. 그것이 바로 배열입니다. – Tomalak