我正在使用一些 CMS 系统,我必须在编辑器中粘贴 HTML 代码(包括 CSS 和 JavaScript)。
问题是它解析输入以验证 html 代码。我有这段有问题的代码
keys.sort(function(a,b) {
if (a.position > b.position) return 1;
if (a.position < b.position) return -1;
return 0;
});
虽然它是有效的 JS 语法,但解析器会看到 <
和 >
并说这是 html 标签的无效语法。
我想知道 JavaScript 是否有另一种方法来检查大于或小于不使用那些 <|>
的方法符号。有人知道吗?
最佳答案
在这种特殊情况下,假设 position
属性是数字类型,您可以使用以下方法实现相同的排序:
keys.sort(function(a,b) {
return a.position - b.position;
});
但是,您应该真正考虑解决这里可能与 CMS 或您如何使用它有关的实际问题。例如,如果 CMS 将输入验证为 XHTML,您可能需要使用这个技巧:When is a CDATA section necessary within a script tag?
现在回答标题中的具体问题:
Is there a JavaScript alternative to greater than and less than?
对于数字,您可以使用 Math.min 作为 >
和 Math.max 作为 <
,像这样:
keys.sort(function(a,b) {
if (Math.min(a.position,b.position) !== b.position) return 1;
if (Math.max(a.position,b.position) !== a.position) return -1;
return 0;
});
关于javascript - 是否有 JavaScript 可以替代大于和小于?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49267478/