Квадратные скобки меняются на закодированный символ [WordPress] - PullRequest
0 голосов
/ 21 ноября 2018

Вот проблема, у меня есть блок кода JS, который я бы очень хотел сохранить в оперативном режиме по соображениям скорости.Это не представляло проблемы в прошлом, но для этой конкретной функции это происходит.Я использую выходной буфер PHP для рендеринга через короткий код.

Код, который отображается:

function get_price(arr, val) {
          var price = Object.keys(arr).reduce((a, c) => {
            var s = c.trim();
            if (/\d+\-\d+/.test(s)) {
              var range = s.split("-");
              if (+val >= parseInt(range[0]) && +val <= parseInt(range&#091;1&#093;)) {
                a = arr&#091;c&#093;;
              }
            } else {
              s = s.replace(/\D/g, "");
              if (+val >= +s) {
                a = arr[c];
              }
            }
            return a;
          }, 0);
          return price;
}

Код, который отправляется:

    function get_price(arr, val) {
                    var price = Object.keys(arr).reduce((a, c) => {
                      var s = c.trim();
                      if (/\d+\-\d+/.test(s)) {
                        var range = s.split("-");
                        if (+val >= parseInt(range[0]) && +val <= parseInt(range[1])) {
                          a = arr[c];
                        }
                      } else {
                        s = s.replace(/\D/g, "");
                        if (+val >= +s) {
                          a = arr[c];
                        }
                      }
                      return a;
                    }, 0);
                    return price;
    }

ЯЯ также понимаю, почему это происходит, поэтому любая помощь приветствуется!

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

1 Ответ

0 голосов
/ 22 ноября 2018

Итак ... Не уверен, почему это сработало, но я преобразовал 2 поврежденные области в JS-переменные, а затем код больше не кодировался.

 function get_price(arr, val) {
          var price = Object.keys(arr).reduce((a, c) => {
            var s = c.trim();
            if (/\d+\-\d+/.test(s)) {
              var range = s.split("-");
              var t1 = parseInt(range[1]); // new added var
              var t2 = arr[c];  // new added var 
              if (+val >= parseInt(range[0]) && +val <= t1) { // replaced code with t1 here
                a = t2; // replaced code with t2 here
              }
            } else {
              s = s.replace(/\D/g, "");
              if (+val >= +s) {
                a = arr[c];
              }
            }
            return a;
          }, 0);
          return price;
}

Если кто-то знает, почему и хочет помочь вселенной, делясь своими знаниями, тогда идите вперед.Если нет, то, надеюсь, это кому-нибудь поможет!

...