[ js ] 將一堆值不重複的存到的一個陣列

看板Ajax作者 (夏天到了,冷不起來了說)時間14年前 (2009/08/26 13:51), 編輯推噓4(405)
留言9則, 4人參與, 最新討論串1/2 (看更多)
設我從HTML上的元素取得一堆值 ex: <input value="A"> <input value="A"> <input value="B"> <input value="C"> 想存成內容為A,B,C的陣列 我是用php的觀念去寫 var array = New Array(); $("input").each(function(){ var key=$(this).val(); // 取value array[key] = key; eval("array['"+key+"'] = '"+key+"';"); } alert(array); 不管用黃色那行的還是綠色那行 結果 alert(array) 的值都是空的.. JavaScript不能直接把值塞給陣列嗎? ---- 結果我用for(n in array) alert(array[n]); 有值出現 原來這種格式的陣列用alert是不會顯示內容的 @.@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.218.220.74

08/26 14:01, , 1F
js的陣列索引必須是數字喔,你用push或unshift好了。
08/26 14:01, 1F

08/26 14:20, , 2F
==" 我是看不懂原 po 的問題,可是我更看不懂樓上
08/26 14:20, 2F

08/26 14:20, , 3F
x=new Array(); x["S"]="Sun"; alert(x["S"]); //try it
08/26 14:20, 3F
※ 編輯: JYHuang 來自: 59.125.221.11 (08/26 14:53)

08/26 15:00, , 4F
用非負整數之外的數值(負數 字串..etc)當作索引去設定陣列
08/26 15:00, 4F

08/26 15:01, , 5F
是幫該"陣列物件"加上object property
08/26 15:01, 5F

08/26 15:02, , 6F
並不是加上array element.. 因為陣列也是物件
08/26 15:02, 6F

08/26 15:07, , 7F
js的陣列不是關聯陣列..可能js的高動態性(隨意幫物件加屬
08/26 15:07, 7F

08/26 15:07, , 8F
性) 以及可用下標運算子存取物件屬性的寫法 會讓人誤會
08/26 15:07, 8F

08/26 16:35, , 9F
js的array不能直接alert
08/26 16:35, 9F
文章代碼(AID): #1AbCr-cO (Ajax)
文章代碼(AID): #1AbCr-cO (Ajax)