cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Apabila tatasusunan js diproses, sentiasa ada nilai null tambahan dalam pengepala

Syarat:

Dua tatasusunan: textArrvalueArr,组合这两个数组,形成如:1^Q1的字符串。中间用ndipisahkan. (Bersedia untuk menghantarnya ke textarea)

Soalan sebenar:

Setiap kali, baris kosong tambahan ditambahkan pada kepala rentetan Kod ini sangat pendek, tetapi saya tidak menemuinya, yang mengecewakan. Tolong bantu dan lihat. Terima kasih!

      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
     }
世界只因有你世界只因有你2702 hari yang lalu900

membalas semua(3)saya akan balas

  • 滿天的星座

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

    Anda mendapat valueArr 的几个判断都写成了 choiceArr

    balas
    0
  • 曾经蜡笔没有小新

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

    Bila

    for循环当i等于0, tengok ayat ni

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

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

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

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

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

    Ringkasnya, nilai nol ""是在i=0 dijana.

    balas
    0
  • 天蓬老师

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

    Seperti yang dinyatakan di atas, ayat anda if (isNull(choiceArr[i])) { choiceArr[i] = '' } sangat pelik Jika anda perlu menulisnya seperti ini, tambahkan penghakiman.

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

    balas
    0
  • Batalbalas