[英]How do I delete a key-value pair using Cradle in CouchDB/Node.js?
[英]JS or jQuery how to delete key-value pair
使用JS或jQuery如何刪除值類型為“ Null
”和""
的鍵-值對。 例如之前:
Object {style: "fruit", origin: "Thailand", day: "18d", color: "", weight: null}
改變:
Object {style: "fruit", origin: "Thailand", day: "18d"}
這有兩個部分:
遍歷對象的屬性
從對象中刪除屬性
這個問題的答案涵蓋了很多方法。 假設您只在乎“自己的”(非繼承)屬性,我可能會使用Object.keys
來獲取屬性名稱數組,然后對其進行循環。
第二個是用delete
運算符完成的。
所以:
Object.keys(theObject).forEach(function(key) {
var value = theObject[key];
if (value === "" || value === null) {
delete theObject[key];
}
});
現場示例:
var theObject = { style: "fruit", origin: "Thailand", day: "18d", color: "", weight: null }; console.log("Before:", JSON.stringify(theObject, null, 2)); Object.keys(theObject).forEach(function(key) { var value = theObject[key]; if (value === "" || value === null) { delete theObject[key]; } }); console.log("After:", JSON.stringify(theObject, null, 2));
您可以使用for..in
循環查找哪個鍵具有null
或""
。
然后使用delete
刪除密鑰
var myObj = {
style: "fruit",
origin: "Thailand",
day: "18d",
color: "",
weight: null
}
for(var keys in myObj){
if(myObj[keys] ===null || myObj[keys] === ""){
delete myObj[keys]
}
}
console.log(myObj)
一個簡單的解決方案,通過迭代拋出對象的鍵並在結果Array中推送匹配的屬性:
var input = {style: "fruit", origin: "Thailand", day: "18d", color: "", weight: null};
var keys = Object.keys(input);
var result = {};
keys.forEach(key => {if (input[key] != null && input[key] != "") result[key] = input[key]});
console.log(result); // { style: 'fruit', origin: 'Thailand', day: '18d' }
var yourObj={style: "fruit", origin: "Thailand", day: "18d", color: "", weight: null}
for(var attr in yourObj){
if(!yourObj[attr]){
delete yourObj[attr]
}
}
可以使用以下代碼完成:
var map = {style: "fruit", origin: "Thailand", day: "18d", color: "", weight: null};
for (var i in map){
if(map[i]==null || map[i]==""){
delete(map[i]);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.