Сочетание старых, с новыми настройками - PullRequest
0 голосов
/ 08 декабря 2018

Я знаю, что код, настроенный таким образом, работает, я просто не знаю, хорош ли он и не будет ли проблематичным, то есть проблем с ним не будет.

Он делает то, что мы хотим, чтобы он делал, да.Он объединяет oldSettings с newSettings .Может ли это быть написано лучше, чем то, как написано здесь, я не знаю. Это может быть улучшено.

Код:

https://jsfiddle.net/Lnj7quby/8/

function combineSettings(oldSettings, newSettings) {
    const playerVars = Object.assign({}, oldSettings.playerVars, newSettings.playerVars);
    const settings = Object.assign({}, oldSettings, newSettings);
    settings.playerVars = playerVars;
    return settings;
}

oldSettings

Какие: defaultSettings

const 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
});
loadPlayer({
    target: ".playa",
    start: 8,
    end: 12,
    loop: true
});

1 Ответ

0 голосов
/ 08 декабря 2018

Использование синтаксиса :

const defaultSettings = {
  playerVars: {
    autoplay: 1,
    controls: 1,
    showinfo: 1,
    rel: 0,
    iv_load_policy: 3,
    cc_load_policy: 0,
    fs: 0,
    disablekb: 1
  }
}

const newSettings = {
  target: ".jacketc",
  width: 600,
  height: 338,
  start: 200,
  end: 205,
  loop: true
}

const mergedSettings = {
  ...defaultSettings,
  playerVars: {
    ...defaultSettings.playerVars,
    ...newSettings
  }
};

console.log(mergedSettings);
...