javascript - 是否有 JavaScript 可以替代大于和小于?

标签 javascript html

我正在使用一些 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/

相关文章:

javascript - 多行字符串中任意数量的捕获组

相当于 php 的 urldecode() 的 Javascript

javascript - 页面加载时仅执行一个 JS 脚本

php - 使用php从mysql数据库中获取数据,以所见即所得的形式显示以供编辑

javascript - QR码应用程序。静态 URL 对蜘蛛有点抵抗力?

javascript - 如何测试数组是否包含数组? ( Jest )

Javascript 泛化多个对象的函数 (Raphael JS)

javascript - 从 HTTP GET 返回自定义对象列表以用于 Angular 2 应用程序

php - 回显文本出现在错误的位置

html - 位置相对于 block 固定,而不是相对于视口(viewport)