recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Il y a toujours une valeur nulle supplémentaire dans l'en-tête lors du traitement du tableau js

Exigences :

Deux tableaux : textArrvalueArr,组合这两个数组,形成如:1^Q1的字符串。中间用nséparés. (Je me prépare à le transmettre dans la zone de texte)

Question réelle :

À chaque fois, une ligne vide supplémentaire est ajoutée en tête de chaîne. Le code est très court, mais je ne le trouve pas, ce qui est frustrant. S'il vous plaît, aidez-nous et jetez un œil. Merci!

      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
     }
世界只因有你世界只因有你2698 Il y a quelques jours897

répondre à tous(3)je répondrai

  • 滿天的星座

    滿天的星座2017-07-05 10:41:37

    Vous avez valueArr 的几个判断都写成了 choiceArr

    répondre
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-07-05 10:41:37

    Quand

    for循环当i等于0, regarde cette phrase

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

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

    Dangi等于1时,因为choiceArr[1]的值是"1^Q1", alors

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

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

    Pour résumer, la valeur nulle ""是在i=0 est générée.

    répondre
    0
  • 天蓬老师

    天蓬老师2017-07-05 10:41:37

    Comme mentionné ci-dessus, votre phrase if (isNull(choiceArr[i])) { choiceArr[i] = '' } est très étrange. Si vous devez l'écrire ainsi, ajoutez simplement un jugement.

    if (choiceArr.length > 0 && isNull(choiceArr[i])) { choiceArr[i] = ''; }

    répondre
    0
  • Annulerrépondre