向对象动态添加属性
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
检查。您可以根据需要进行更改(例如,您可能不想要空字符串、数字零或其他任何东西),但请首先检查:
- 如何确定变量是否为';未定义';或者';null'
相关文章:
- 选中单选框时将属性添加到输入字段
- 将css属性添加到对象的集合中
- 用javascript向数组(?)中的特定属性添加值
- AngularJs,在没有隔离的情况下将指令属性添加到作用域
- 如何将enctype属性添加到FormData()对象中
- 如何将属性添加到自定义角度指令
- 如何将额外的属性添加到bootstrapTable中
- 在 Javascript 生成的列表中,如何将自定义属性添加到 标记
- 将动态属性添加到对象末尾
- 向 JSON 对象属性添加引号
- 将地理 JSON 要素属性添加到地图框弹出窗口
- 是否有脚本/代码可以一次将链接属性添加到多个链接
- 将自定义属性添加到 vuejs 组件
- 将属性添加到带有href链接但没有#的元素
- 将属性添加到数组中的所有对象
- Jquery将data-rel属性添加到所有输入字段,并移除name属性
- 将属性添加到窗元素时是否引发事件
- 将onsubmit属性添加到表单并提交
- 将属性添加到数组中的每个对象
- 如何使用jQuery向属性添加值