2012-07-12 4 views
0

Google 스프레드 시트의 셀에 쓸 때 배열에서 쉼표를 제거하는 데 문제가 있습니다. array.join (''); 트릭을하지 않는 것 같습니다. 나는 어떤 도움을 주셔서 감사합니다. 또한 anchor [i] [j] .join ('')은 오류를 반환합니다.다차원 배열에서 쉼표 제거

anchor[i][j].join('')

anchor[i].join('')는 효과가 보이지 않는 오류를 반환 여기

코드의 비트가. I는 1 개 차원을 의미하고 ([I] [J]에 오차) 배열 자체가 아닌 단일 요소에 적용되는 정상으로 "정상"어레이와

for (var i=0; i(less than) rangeKW.length-2;i++){ 

anchor[i] = []; 

    for (var j=0; j<rangeURL.length;j++){ 

    anchor[i][j] = ahref + rangeKW[i] + ahref1 + rangeURL[j] + "</a>|";  

    }  
    }  
cell.setValue("{" + anchor);  
} 

답변

0

array.join() 작업, 그 옆 I는하지 당신이하고 싶은 것과 코드가 당신의 질문과 어떻게 관련되어 있는지를 정말로 이해하십시오.

에 관한 anchor[i].join('');// doesn't seem to have an effect. 나는 얼마나 많은 요소가 있고 어떻게 생겼는지는 모르지만 구문은 정확합니다. CSV 문자열로 만들려면 toString()을 사용할 수도 있습니다.

편집 :(의견의 정보 주셔서 감사합니다.)

내가 가장 쉬운 방법을 생각한다 (또는 적어도 가장 명확)가 별도로 로그인 할 수있는 새로운 변수의 몇 가지를 만들 것 무슨 일이 일어나는지 정확히 알 수 있습니다. 예를

var anchorString = anchor[i].join(); // or toString() they both return strings from 1D arrays 
Logger.log(anchorString) 

에 대한

경우 앵커의 난 다음 같은 셀의 수는 i 루프에서 이런 식으로 작성해야 모든 인덱스 :

var anchorString += anchor[i].join(); 
Logger.log(anchorString) 
+0

스프레드 시트 범위 KW []에서 A 열의 값 범위를 가져온 다음 B 열 범위 [rangeURL]에서 값 범위를 가져옵니다. 그런 다음 rangeKW [i]를 가져 와서 rangeKW [i]의 모든 인스턴스에 rangeURL [j]을 문자열 ahref, ahref1 및 " |"과 함께 추가합니다. 따라서 anchor [i] [j] = ahref + rangeKW [i] + ahref1 + rangeURL [j] + " |"; 그런 다음 이것을 셀에 씁니다. 그래서 앵커 [0], 앵커 [0] [1], 앵커 [0] [2], 앵커 [1] [0], 앵커 [1] [1], 앵커 [ 1] [2] ... – shumway21

+0

분리없이 모든 셀의 앵커 배열 값을 연속적으로 쓰고 싶습니다. –

+0

그래 맞아. 열 A 행 1 + 열 B 행 1, 열 A 행 1 + 열 B 행 2, 열 A 행 1 + 열 B 행 3 ...열 A 행 2 + 열 B 행 1, 열 A 행 2 + 열 B 행 2, 열 A 행 2 + 열 B 행 3 – shumway21

1

당신이

있다고 가정
var x = [[1,2,3],[4,5,6]] 

다음 줄 중 하나가 "123456"이됩니다 :

Array.prototype.concat.apply([], x).join('') 
    x.map(function(a){ return a.join(''); }).join(''); 

첫 번째 구성은 배열 [1,2,3,4,5,6]을 구성한 다음 조인합니다. 두 번째 배열은 각 내부 배열을 먼저 조인하고 [ "123", "456"]을 구성한 다음 조인합니다. 저는 처음에는 땅콩 이야기를하고 있지만 조금 더 효율적이라고 생각합니다. 그러나 두 번째 것은 행과 열 사이에 다른 것을 넣고 싶다면 좀 더 많은 제어를 할 수 있습니다.

두 경우 모두 x의 원래 값은 변경되지 않습니다. 원하는 경우 x에 새 값을 지정할 수 있습니다.