亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript:拆分不一致

JavaScript:拆分不一致

慕斯王 2023-08-10 15:51:08
我在 JavaScript 中使用 split() 方法得到了一個非常令人困惑的結果。var winning = "1234".split(" ");var entry1 = "23".split(" ");var entry2 = "123".split(" ");var entry3 = "55".split(" ");var entry4 = "8888".split(" ");var entry5 = "21".split(" ");var counter1, counter2, counter3, counter4, counter5;counter1 = 3;counter2 = 3;counter3 = 3;counter4 = 3;counter5 = 3;for(var i = entry1.length - 1; i >= 0; i--){    console.log(winning[counter1] + "===" + entry1[i]);    counter1 -= 1}for(var i = entry2.length - 1; i >= 0; i--){    console.log(winning[counter2] + "===" + entry2[i]);    counter2 -= 1}for(var i = entry3.length - 1; i >= 0; i--){    console.log(winning[counter3] + "===" + entry3[i]);    counter3 -= 1}for(var i = entry4.length - 1; i >= 0; i--){    console.log(winning[counter4] + "===" + entry4[i]);    counter4 -= 1}for(var i = entry5.length - 1; i >= 0; i--){    console.log(winning[counter5] + "===" + entry5[i]);    counter5 -= 1}當我運行這個簡單的代碼時,使用 split 獲得的獲勝數組在任何索引中均未定義,但 split 方法生成的其他數組似乎工作正常。只是為什么?這是什么矛盾?
查看完整描述

1 回答

?
弒天下

TA貢獻1818條經驗 獲得超8個贊

看這個:


var winning = "1234".split(" ");

var entry1 = "23".split(" ");

var entry2 = "123".split(" ");

var entry3 = "55".split(" ");

var entry4 = "8888".split(" ");

var entry5 = "21".split(" ");


console.dir(winning)

console.dir(entry1)

console.dir(entry2)

console.dir(entry3)

console.dir(entry4)

console.dir(entry5)


數組中只有一個元素winning,因此當您嘗試獲取具有索引的元素時,3您會得到undefined. 其他數組也有一個元素 - 您循環遍歷它們并打印該元素。我想你想這樣做:


var winning = "1234".split("");

而不是這個:


var winning = "1234".split(" ");

因為這些字符串中沒有空格字符。


查看完整回答
反對 回復 2023-08-10
  • 1 回答
  • 0 關注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號