[問題] 關於javascript的資料型態

看板Web_Design作者 (....)時間15年前 (2010/08/31 16:49), 編輯推噓4(4019)
留言23則, 5人參與, 最新討論串1/1
我宣告一個陣列 裡面從資料庫抓來的全是整數 var sellData = new Array() var sellData = <?php echo json_encode($sellData) ?>; for (i=0; i<=1; i=i+1) { data.setValue(i, 0, 100+i); data.setValue(i, 1, sellData[i]); } 我的問題在於為什麼data.setValue這個function沒辦法讀sellData[i]這個整數 ie給我的錯誤報告是sellData[i]不是相符合的資料型態 請問一下我該怎麼宣告整數型別的陣列 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.203.116

08/31 17:13, , 1F
echo出來的值真的是array還是只是string~我懷疑是string~
08/31 17:13, 1F

08/31 18:55, , 2F
那請問一下有辦法讓陣列裡字串轉成整數嗎? 謝謝
08/31 18:55, 2F

08/31 19:00, , 3F
插alert(typeof sellData);看看
08/31 19:00, 3F

08/31 19:43, , 4F
既然是object!? 這讓我更困惑了QQ
08/31 19:43, 4F

08/31 19:58, , 5F
喔喔...忘了說 陣列用typeof是Object沒錯
08/31 19:58, 5F

08/31 19:59, , 6F
要用alert(sellData.constructor);
08/31 19:59, 6F

08/31 20:00, , 7F
不過json返回的應該是object沒錯..
08/31 20:00, 7F

08/31 20:01, , 8F
php應該要改成可以輸出[0,1,2]這樣
08/31 20:01, 8F

08/31 20:02, , 9F
你的php變數$sellData是什麼型態?
08/31 20:02, 9F

08/31 20:02, , 10F
function array(){ [native code]}
08/31 20:02, 10F

08/31 20:05, , 11F
sellData 是array 型態
08/31 20:05, 11F

08/31 20:08, , 12F
最簡單就是把sellData 整個dump出來看看
08/31 20:08, 12F

08/31 20:13, , 13F
也許不是php的問題 constructor出來都是array了..
08/31 20:13, 13F

08/31 20:14, , 14F
data.setValue(i, 1, parseInt(sellData[i]));
08/31 20:14, 14F

08/31 20:14, , 15F
試試這個
08/31 20:14, 15F

08/31 20:14, , 16F
我在想該array可能是['1','2']這樣
08/31 20:14, 16F

08/31 20:58, , 17F
謝謝你 我已經解決這個問題了
08/31 20:58, 17F

08/31 21:10, , 18F
怎解決的??
08/31 21:10, 18F

08/31 22:14, , 19F
@@ 用parseInt
08/31 22:14, 19F

09/01 01:17, , 20F
強烈建議parseInt 要寫兩個參數, parseInt("123", 10)
09/01 01:17, 20F

09/01 01:18, , 21F
理由可以看 #1AHDF1cC (Ajax)
09/01 01:18, 21F

09/01 20:28, , 22F
喔喔! 知道但每次都忘記寫第二個參數...
09/01 20:28, 22F

09/02 00:40, , 23F
謝謝 TonyQ 和s25gd4的提醒
09/02 00:40, 23F
文章代碼(AID): #1CVC8DBD (Web_Design)