有条件地向JavaScript对象添加属性

发布时间:2020-08-01 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了有条件地向JavaScript对象添加属性脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这样做有更简洁或可读的方式吗?

var foo={a:111,c:333,somePropertyThatShouldntBeAdded:'xxx'};
var myobj={x:1,y:2,z:3};
if(foo.a){myobj.a=foo.a;}
if(foo.b){myobj.b=foo.b;}
if(foo.c){myobj.c=foo.c;}

编辑.上下文为什么我这样做是在下面.

var obj={value:this.text,css:{color:'#929292',margin:'1px 0px'}};
if(this.width){obj.css.width=this.width;}
if(this.type){obj.type=this.type;}
if(this.id){obj.id=this.id;}
var input=$('<input/>',obj)

解决方法

您可以使用简单的基于循环的方法:

var foo={a:111,z:3};

['a','b','c'].forEach(function(key) {
    if(key in foo) {
        myobj[key] = foo[key];
    }
});

请注意我是如何使用in关键字的.如果属性的值为(例如)false或0,则当前解决方案将不起作用.

另外,为了获得更好的解决方案,请提供一些上下文:为什么有条件地复制属性?也许你可以开始避免这种情况.

总结

以上是脚本之家为你收集整理的有条件地向JavaScript对象添加属性全部内容,希望文章能够帮你解决有条件地向JavaScript对象添加属性所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入脚本之家官方QQ群:1065694478
脚本之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!