请原谅我,但我确实知道JS基础知识以及如何编写/调用基本功能,但是在这种情况下,我试图匹配DB中的Alpha类别列表以与我的集合(非阿尔法)订单匹配在下面指定的上述类别中(这是我询问如何映射返回类别顺序的问题的代码)。但是,我不知道如何将该人的代码答案集成到我自己的代码中。

仅看到它针对另一个示例列表实现(模仿我将从DB中获取的内容),以及如何在Switch Case语句中称其为将我的HTML包裹在类别名称上,并将它们返回到映射顺序中的网页i想要有很大的帮助。抱歉,如果事实证明很明显。我正在尝试学习遇到这些问题时能做什么。谢谢!

var categories = [ 'F', 'C', 'A1', 'A2', 'A3' ].map(function (category) {
    return businesses.filter(function (business) {
        return business.category === category;
    });
});
有帮助吗?

解决方案

给定的代码看起来最有可能使用jQuery JavaScript库,该库具有一些有用的功能,例如 map() 用于操纵阵列。

该代码假设您有一个jQuery对象 /数组, businesses 其中包含您需要订购的业务。如果我们从外面阅读

  1. 将数组中的每个项目转入地图功能。地图功能采用一个函数来说明如何映射每个项目。
  2. 匿名函数 function (category)... 接受一个参数,特定项目在此迭代中传递给了它,并将返回映射结果。
  3. 返回的结果是调用过滤器上的函数 businesses 并通过说出应该如何过滤企业的功能。
  4. 匿名函数 function (business)... 接受论点,特定项目传递给 businesses 是迭代的,并返回匹配外部函数中示波器的类别参数的人。
  5. 最终结果是类别数组订购的一系列项目 [ 'F', 'C', 'A1', 'A2', 'A3' ]

如果我们回到 原始问题, ,您需要根据客户的喜好订购类别列表。让我们创建一个字面绘制订购的对象

var map = {
    F : 5,
    C : 3,
    A1 : 1,
    A2 : 4,
    A3 : 2
}

我们可以使用此地图使用 sort 方法

var array = ['F', 'C', 'A1', 'A2', 'A3'];

array.sort(function(a,b) {
    return map[a] - map[b];
});

这返回我们 ["A1", "A3", "C", "A2", "F"]

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top