Array及JSON的操作
Array的操作
JavaScript的Array是non typed的,即每個成員可以type不一樣,跟Object一樣.
Array裡的單一元素操作, 其取出copy到另一變數時遵照一般的規則
移除第一個元素以及最後一個元素
Array的copy (array本身是reference type)
array2等於array1, 透過array2改, 印出array1也被改到
Array的deep copy/clone/duplicate (copy each element)
slice()
另一用途: 用來取某一部份的array的值, e.g. slice(1,3)
, 從1取到2.
Array的 For-Loop
有兩種
Iterator, e.g.
for student of students
for (var i=0; i< 100; i++)
ES5的array要用 int i = 0
的方法.
遞迴(Recursion)
算是除了loop/iterationg以外另一種實現方式.
可練習
Array的high order function操作map, filter, reduce
e.g.
JSON的注意事項及常見處理
JSON (JavaScript Object Notation)為從JavaScript Object推廣而來的一種資料格式,JSON本身是代表JavaScript物件的標記方法,而JavaScript Object的簡化型 (無function,純value type) 就是對應到此種資料格式,故JSON同時有兩種意思。JSON在其他語言可能名字是Map/KeyValue/Dictionary. 跟Array一樣為兩大常見的資料形態.
如何access其property對應到的值或物件:
data.name
data["name"]
var key="name"; data[key];
如何事先檢查property有無存在 (通常會在上述第1點前檢查), 如果不檢查則
var nameValue = data.name; //undefined
,事後用可能exception或logic不符合
常見case - Loop Array 或 JSON/Map/Dictionary 時要小心的事情
有一個常見的use case是: 一個Array要挑出某個特定的element, 然後把它從這array裡移除掉. How?
Last updated