JavaScript实施问题:如何使此函数显示值
-
29-09-2019 - |
题
请原谅我,但我确实知道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
其中包含您需要订购的业务。如果我们从外面阅读
- 将数组中的每个项目转入地图功能。地图功能采用一个函数来说明如何映射每个项目。
- 匿名函数
function (category)...
接受一个参数,特定项目在此迭代中传递给了它,并将返回映射结果。 - 返回的结果是调用过滤器上的函数
businesses
并通过说出应该如何过滤企业的功能。 - 匿名函数
function (business)...
接受论点,特定项目传递给businesses
是迭代的,并返回匹配外部函数中示波器的类别参数的人。 - 最终结果是类别数组订购的一系列项目
[ '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"]
不隶属于 StackOverflow