向JavaScript对象动态添加多个属性
该场景是立即向JavaScript对象动态添加一些属性 例如,有一个对象“数据” 然后将额外数据添加到“数据”向JavaScript对象动态添加多个属性,javascript,object,Javascript,Object,该场景是立即向JavaScript对象动态添加一些属性 例如,有一个对象“数据” 然后将额外数据添加到“数据” 在“数据”中添加“extraData”的最佳方法或最简单方法是什么?最现代的方法是使用ES6: 或者,这将是传统的做法: var moreData = Object.assign({}, data, extraData); 下面是一个很好的方法: <script src="http://code.jquery.com/jquery-1.9.1.js"></scrip
在“数据”中添加“extraData”的最佳方法或最简单方法是什么?最现代的方法是使用ES6: 或者,这将是传统的做法:
var moreData = Object.assign({}, data, extraData);
下面是一个很好的方法:
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function(){
var data = {
PropertyA: 1,
PropertyB: 2,
PropertyC: 3,
};
if(true){
var extraData = {
PropertyD: 4,
PropertyE: 5,
PropertyF: 6,
};
} else {
var extraData = {
PropertyX: 4,
PropertyY: 5,
PropertyZ: 6,
};
}
var object = $.extend({}, data, extraData);
console.log(object);
});
</script>
$(函数(){
风险值数据={
物业a:1,,
财产b:2,
财产c:3,
};
如果(真){
var外部数据={
财产d:4,
财产:5,
财产f:6,
};
}否则{
var外部数据={
财产X:4,
财产Y:5,
财产Z:6,
};
}
var object=$.extend({},data,extraData);
console.log(对象);
});
如果不想改变数据的值,可以这样做:
var newData = Object.assign({}, data, extraData);
请参阅对象.assign(数据、条件?extraDataDEF:extraDataXYZ)的可能重复项代码>。既然可以用Javascript轻松完成这样的事情,为什么还要引入像jQuery这样的整个库呢?好问题!为什么jQuery存在,javascript存在。是的,这是ES6。我需要包含什么库来实现这一点?添加到这个答案中,您可以在这里了解分配和传播之间的区别,您可以使用类似Babel的东西:。如果这不是一个选项,我已经在更新的答案中提供了一个替代解决方案。@PatoSalazar除了突变的风险之外,真的没有区别。
var moreData = Object.assign({}, data, extraData);
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function(){
var data = {
PropertyA: 1,
PropertyB: 2,
PropertyC: 3,
};
if(true){
var extraData = {
PropertyD: 4,
PropertyE: 5,
PropertyF: 6,
};
} else {
var extraData = {
PropertyX: 4,
PropertyY: 5,
PropertyZ: 6,
};
}
var object = $.extend({}, data, extraData);
console.log(object);
});
</script>
Object.assign(data, extraData);
var newData = Object.assign({}, data, extraData);