84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
두 개의 배열:textArr和valueArr,组合这两个数组,形成如:1^Q1的字符串。中间用n분리됨. (텍스트 영역으로 전달할 준비 중)
textArr
valueArr
1^Q1
n
때마다 문자열 앞부분에 빈줄이 추가되는데 코드가 너무 짧은데 못찾아서 답답하네요. 도와주시고 살펴보시기 바랍니다. 감사해요!
당신은valueArr的几个判断都写成了choiceArr
choiceArr
for循环当i等于0할 때, 이 문장을 보세요
for
i
0
이때choiceArr是[],choiceArr[i]即choiceArr[0],为undefined,isNull会返回true,所以会执行choiceArr[i] = '',此时数组的长度已经变成了1,然后执行下面的push之后,此时choiceArr的值为["", "1^Q1"],所以for循环第一遍结束以后,choiceArr的长度不是1而是2.
[]
choiceArr[i]
choiceArr[0]
undefined
isNull
true
choiceArr[i] = ''
1
["", "1^Q1"]
2
당i等于1时,因为choiceArr[1]的值是"1^Q1"그러니까
choiceArr[1]
"1^Q1"
의 판단은false,然后执行下面的push语句,此时choiceArr的值为["", "1^Q1", "2^Q2"];当i等于2时,同i=1的情况,循环结束之后choiceArr为["", "1^Q1", "2^Q2", "3^Q3"]입니다.
false
["", "1^Q1", "2^Q2"]
i=1
["", "1^Q1", "2^Q2", "3^Q3"]
요약하면 null 값""是在i=0이 생성됩니다.
""
i=0
위에서 언급했듯이if (isNull(choiceArr[i])) { choiceArr[i] = '' }문장이 매우 이상합니다. 이렇게 써야 한다면 판단을 추가하면 됩니다.
if (isNull(choiceArr[i])) { choiceArr[i] = '' }
당신은
valueArr
的几个判断都写成了choiceArr
으아악for
循环当i
等于0
할 때, 이 문장을 보세요이때
choiceArr
是[]
,choiceArr[i]
即choiceArr[0]
,为undefined
,isNull
会返回true
,所以会执行choiceArr[i] = ''
,此时数组的长度已经变成了1
,然后执行下面的push之后,此时choiceArr
的值为["", "1^Q1"]
,所以for循环第一遍结束以后,choiceArr
的长度不是1
而是2
.당
으아악i
等于1
时,因为choiceArr[1]
的值是"1^Q1"
그러니까의 판단은
false
,然后执行下面的push语句,此时choiceArr
的值为["", "1^Q1", "2^Q2"]
;当
i
等于2
时,同i=1
的情况,循环结束之后choiceArr
为["", "1^Q1", "2^Q2", "3^Q3"]
입니다.요약하면 null 값
""
是在i=0
이 생성됩니다.위에서 언급했듯이
으아악if (isNull(choiceArr[i])) { choiceArr[i] = '' }
문장이 매우 이상합니다. 이렇게 써야 한다면 판단을 추가하면 됩니다.