PHP 的陣列非常好用,所以相對之下 JS 的陣列就顯的有點綁手綁腳,例如:無法用字串當"鍵值Key"(或稱"索引Index"),所幸可以拿 JS 的"物件 Object"來替代,使用方式如下...
var obj = {};
obj['John'] = {};
obj['John']['year'] = 3;
//舉一個簡單的應用
//現在要幫員工的年資加1,舊員工只有 John 一人,Alen、Bill是新進人員,所以直接給1
var arr = [];
arr = ['Alen', 'Bill', 'John'];
for(var k in arr) {
if(obj[arr[k]]) {
if(obj[arr[k]]['year']) {
obj[arr[k]]['year'] += 1;
}
else {
obj[arr[k]]['year'] = 1;
}
}
else {
obj[arr[k]] = {};
obj[arr[k]]['year'] = 1;
}
}
console.log(obj);
線上Demo
//備註1: 要用if判斷第二維存不存在,如果不存在,就要建立物件 (但不用加 var)
//備註2: JS的 "+=" 不能像 PHP 一樣無腦使用,如果物件一開始不存在的時候,就要用 "=",不然會變成 NaN
No comments:
Post a Comment