作者Gamakatsu (Gama)
看板Web_Design
標題[請益] JavaScript如何列舉陣列所有可用方法?
時間Tue Apr 14 10:24:36 2015
如標題,我想用一個for迴圈列舉出『陣列』所有可以使用的方法
例如,我使用以下程式可以列出所有『document』的方法
============================================================
for (key in document) {
document.write(key + ": " + document[key] + "<br>");
}
============================================================
如果我改成...
============================================================
var myArray = [123, "abc"];
for (key in myArray) {
document.write(key + ": " + myArray[key] + "<br>");
}
============================================================
執行結果會輸出:『123』、『abc』
但這不是我要的結果...
請問各位大大要如何做呢...
--
Sent from my GameBoy.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.72.38
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Web_Design/M.1428978285.A.B1F.html
1F:推 mmis1000: in Array. prototype ? 04/14 10:38
2F:推 devil115789: Object.getOwnPropertyNames(Array.prototype) 04/14 10:47
3F:→ devil115789: 可以拿到你想要的Array 04/14 10:47
4F:→ Gamakatsu: 可以麻煩mmis1000大大提示清楚一點嗎?小弟剛學JS對JS 04/14 17:38
5F:→ Gamakatsu: 還不是很熟悉QQ 04/14 17:38
6F:→ mmis1000: array 所有的method都在 Array. prototype 上阿,你應 04/14 18:21
7F:→ mmis1000: 你應該去看一下js的繼承方式 04/14 18:22
8F:推 tw0517tw: 那是因為document裡面的東西就是那些 04/14 18:51
9F:→ tw0517tw: a in b 是走過所有b 裏面的東西 04/14 18:51
10F:→ tw0517tw: 你的myArray 裡面是123 abc 他當然就拿到 123 abc 04/14 18:52
11F:→ iamnodoubt: 看不懂問題在那..xd 04/14 22:42
12F:推 guanting886: 列舉出整個物件的方法 對象必須是物件 04/17 07:29
13F:→ guanting886: 而你用for in 列舉陣列 當然找到的是陣列裡的東西 04/17 07:30
14F:推 guanting886: 雖然陣列也是一個物件 數字也是一個物件 04/17 07:35
15F:→ guanting886: 但for in列舉method的技巧只適用於object型態的東西 04/17 07:36
16F:推 guanting886: 不算是一個列舉物件方法的方式 04/17 07:38