![](/img/trans.png)
[英]Adding object properties dynamically “directly” to `this` in JavaScript/TypeScript
[英]Dynamically adding properties to an object
我有一個名為Object1的對象,它是第三方對象,並且要在其中放入屬性。
Object1.shoot({
'prop1':prop_1,
'prop2':prop_2,
'prop3':prop_3
});
現在,我希望僅當prop_1具有某些值時才將鍵“ prop1”作為屬性添加到Object1。 否則我不想添加它,
最好的方法是什么?
您可以先檢查每個屬性是否存在循環。
var params = {
'prop1':prop_1,
'prop2':prop_2,
'prop3':prop_3
};
for (var param in params) {
if (typeof params[param] === 'undefined') {
delete params[param];
}
}
Object1.shoot(params);
您可以創建一個輔助函數來添加屬性(如果已定義):
function addProp(target, name, value) {
if(value != null) {
target[name] = value
}
}
var props = {}
addProp(props, 'prop1', prop_1)
addProp(props, 'prop2', prop_2)
addProp(props, 'prop3', prop_3)
上面執行的是null
檢查,而不是undefined
檢查。 您可以根據需要進行更改(例如,您可能不希望使用空字符串,數字零或其他任何東西),但請先進行以下檢查:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.