我對JS中的一些現有代碼有設計煩惱。代碼正在工作,所以我不急於改變它,但下面顯示的重複確實讓我煩惱。避免這種情況的常用/推薦/正式方法是什麼?避免重複鍵/數據
實際系統是一個大/複雜的金融系統,所以我把它簡化爲這表明了問題的最簡單的例子:
var colours={
red:{id:"red", vals:[1,0,0]},
green:{id:"green", vals:[0,1,0]},
grey:{id:"grey", vals:[0.5,0.5,0.5]}
// ...etc
};
// id needs to be known internally within the object - thus it is defined as a property.
// e.g:
colour.prototype.identify(console.log(this.id));
// id also needs to be used externally to find an object quickly.
// e.g:
function getcolour(s){return colours[s];}
// Although this works. It does mean duplicating data, with the theoretical possibility of a mismatch:
var colours={//...
blue:{id:"green", // oh dear...
這將如何通常由專家來處理?
看看到[lodash(HTTPS ://lodash.com/)庫 –