Requirement:
一個json object,並且可能包含一些空值或空字串,在頁面顯示的時候希望遇到空值顯示“N/A”,但是有一部分值是允許空值的。因此希望透過篩選將空值設為“N/A”.例如希望學生的“age”和“score”如果為空顯示“N/A”,而“sex”或“comment”為空則不做處理。
var Student = {
"姓名" : "郭",
"",
"num ": 01,
"分數" : [
"科目" : "英文",
或 "評價" : ""
},
"科目" : "計算機",
"得分" : "",
"評論" : "缺席"
}
]
};
var except = ["sex", "comment"];
// 方法1 驗證obj
var value;
for(var obj中的鍵){
value = obj[key];
obj = validateArray1(obj, key, 排除);
$.inArray(key,排除) == -1) && ($.isBlank(value))){
}
}
return obj;
}
. var subValue;
for(var i = 0, length = 物件[鍵]。長度;我 for(var subKey in obj[key][i]){
subKey];
if(($. inArray(subKey, 排除) == -1) && ($.isBlank(subValue))){
}
}
}
化
// 方法 2 驗證 obj
validateObj2 = function(obj, excepted){ if($.isArray($ .isArray( value)){
obj = validateArray2(obj, key key, value, 排除)){
obj[key] = "N/A ";
}
} }
validateArray2 = 函數(obj, key, 排除){
0, 長度= obj[key].length; i ){
$.each(obj[key][i] ,function(subKey, sub if(isInvalid(subKey, subValue, 排除) ) ){
obj[key][i][subKey] = "N/A });
}
isInvalid = 函數(鍵、值、排除){
return (($.inArray(key, 排除) $1) &Blue) ($1) &Blval&F) ? true : false;
}
$.isBlank = function(obj){
};
方法一結果
方法2結果