2014年10月30日 星期四

Loop Object 's Key/Value in Javascript

Sample Code 1:
for(var key in WP.LiveStream){
    if (WP.LiveStream.hasOwnProperty(key)) {
     sb.append(key +"="+ WP.LiveStream[key]);
     sb.append(";");
    }
}
hasOwnProperty:是用來檢查Loop物件是否真的有該屬性,還是該屬性是屬於Loop物件從prototype繼承下來的屬性(或function)



Sample Code 2:
var user = {};
function setUsers(data) {
    for (var k in data) {
        if (data.hasOwnProperty(k)) {
           user[k] = data[k];
        }
    }
}

透過此種設定 Object的方式,只要兩物件的屬性相同,幾行程式碼就可以搞定擁有
許多屬性的A object -> B object 的物件設定


Sample Code 3:
for (var k in target){
    if (typeof target[k] !== 'function') {
         alert("Key is " + k + ", value is" + target[k]);
    }
}
透過判別屬性不是function,才輸出


資料參考來源:stackoverflow
http://stackoverflow.com/questions/7241878/for-in-loops-in-javascript-key-value-pairs
http://stackoverflow.com/questions/2958841/how-to-loop-a-key-value-object-in-javascript

沒有留言:

張貼留言