javascript – Wenn ein js-Array verarbeitet wird, gibt es im Header immer einen zusätzlichen Nullwert
世界只因有你
世界只因有你 2017-07-05 10:39:37
0
3
898

Anforderungen:

Zwei Arrays: textArrvalueArr,组合这两个数组,形成如:1^Q1的字符串。中间用ngetrennt. (Vorbereitung zur Übergabe an den Textbereich)

Eigentliche Frage:

Jedes Mal wird am Anfang der Zeichenfolge eine zusätzliche Leerzeile hinzugefügt. Der Code ist sehr kurz, aber ich kann ihn nicht finden, was frustrierend ist. Bitte helfen Sie und schauen Sie vorbei. Danke!

      choicesToString () {
        let textArr = ['Q1', 'Q2', 'Q3'];
        let valueArr = [1, 2, 3];
        let choiceArr = []
        for (let i = 0; i < textArr.length; i++) {
          if (isNull(valueArr[i])) { valueArr[i] = '' }
          if (isNull(choiceArr[i])) { choiceArr[i] = '' }
          if ((valueArr[i] === '') && (choiceArr[i] === '')) { continue }
          choiceArr.push(valueArr[i] + '^' + textArr[i])
          console.log(`${i}: ${choiceArr}`)
        }
        // TODO: BUG! Add an empty cell at the first position. FUCK!!!
        // 难道要我被迫加上这段可耻的代码...
        // choiceArr.splice(0, 1)

        console.log(choiceArr)
        return choiceArr.toString().split(',').join('\n')
      }
      
     isNull (arg) {
         return !arg && arg !== 0 && typeof arg !== 'boolean' ? true : false
     }
世界只因有你
世界只因有你

Antworte allen(3)
滿天的星座

你把 valueArr 的几个判断都写成了 choiceArr

曾经蜡笔没有小新

for循环当i等于0的时候,看这句

if (isNull(choiceArr[i])) { choiceArr[i] = '' }

此时choiceArr[]choiceArr[i]choiceArr[0],为undefinedisNull会返回true,所以会执行choiceArr[i] = '',此时数组的长度已经变成了1,然后执行下面的push之后,此时choiceArr的值为["", "1^Q1"],所以for循环第一遍结束以后,choiceArr的长度不是1而是2

i等于1时,因为choiceArr[1]的值是"1^Q1",所以

if (isNull(choiceArr[i])) { choiceArr[i] = '' }

的判断为false,然后执行下面的push语句,此时choiceArr的值为["", "1^Q1", "2^Q2"];
i等于2时,同i=1的情况,循环结束之后choiceArr["", "1^Q1", "2^Q2", "3^Q3"]

综上,空值""是在i=0时产生的。

Peter_Zhu

如楼上所说,你的那句if (isNull(choiceArr[i])) { choiceArr[i] = '' }非常奇怪, 非要这么写的话,就加个判断把。

if (choiceArr.length > 0 && isNull(choiceArr[i])) { choiceArr[i] = ''; }
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage