场景是一次动态地向JavaScript对象添加一些属性。
例如,有一个对象“data”
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,
}
}
将“extraData”添加到“数据”的最佳方式或最简单方法是什么?
答案 0 :(得分:1)
Object.assign(data, extraData);
如果你不想改变数据的价值,你可以这样做:
var newData = Object.assign({}, data, extraData);
答案 1 :(得分:-1)
最现代的方法是使用ES6' spread:
const moreData = { ...data, extraData };
或者,这将是传统的做法:
var moreData = Object.assign({}, data, extraData);
答案 2 :(得分:-2)
这是一个很好的方法:
<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>