Здесь делается объединение oldSettings с newSettings .
Код:
https://jsfiddle.net/zt7anuL3/96/
oldSettings , будет ссылаться на « defaultSettings », с которого они все начинаются.
playerVars: {
autoplay: 1,
controls: 1,
showinfo: 1,
rel: 0,
iv_load_policy: 3,
cc_load_policy: 0,
fs: 0,
disablekb: 1,
},
newSettings - это то, что указывается в каждом загрузочном проигрывателе .
loadPlayer({
target: ".jacketc",
width: 600,
height: 338,
start: 200,
end: 205,
loop:true
});
Я пытался сделать это самостоятельно, ноЯ не уверен, что написал это правильно.
Мне нужно знать, правильно ли я это делаю или нет, а если нет, то каким будет правильный путь.Если бы вы могли внести в него исправления, это было бы полезно.
Кто-то только что сказал мне, что я могу использовать Object.assign()
для объединения свойств, но как это будет сделано?И это то, что я хочу сделать здесь?
function combineSettings(oldSettings, newSettings) {
const props = Object.keys(newSettings);
const combinedSettings = props.reduce(function combine(combined, prop) {
if (typeof(oldSettings[prop]) === "object") {
const oldProp = oldSettings[prop] || {};
const newProp = newSettings[prop] || {};
combined[prop] = combineSettings(oldProp, newProp);
} else {
combined[prop] = newSettings[prop];
}
return combined;
}, oldSettings);
return combinedSettings;
}