方括号被更改为编码字符〔WordPress〕



问题是,我有一个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;
}

我也无计可施,为什么会发生这种事,所以任何帮助都很感激!

如果需要,我也可以发送更多的代码,但不想用不必要的代码来重载我的问题。

所以。。。不知道为什么这样做有效,但我将这两个有问题的区域转换为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;
}

如果有人知道为什么,并想通过分享他们的知识来帮助宇宙,那么就直接去吧。如果没有,希望这能帮助到别人!

最新更新