代码逻辑javascript数组
Code logic javascript array
我使用jQuery同位素插件来排序和过滤元素。元素是具有多个筛选器组的产品。我面临一个问题,我需要在同一组中过滤具有多选择过滤器属性的产品,例如:
过滤器组:性别、产品类别、产品材料。
样品选择:男士,手袋,皮革。
以上示例工作正常。
但是我需要像
这样的东西新的滤镜选择:男士,包,钱包,皮革,热鑫。
如果您注意到Bag和Wallet来自同一组。皮革和热辛属于同一类。
要做到这一点,我需要像 这样传递过滤器值filtervalue -.men.bag.leather、.men.wallet.leather .men.bag.rexin .men.wallet.rexin。
这听起来很容易,但我发现很难编写。
我有每个过滤器组的数组,当用户选择或取消选择特定过滤器时,我将更新该数组
所以本质上,我需要的是将多个过滤器数组组合或分组成一个字符串,每个组包含每个数组中的每个元素,每个组用逗号分隔。
javascript中的数组:
var gender = ['.men'];
var type = ['.bag','.wallet'];
var material = ['.leather','.rexin'];
Output:
".men.bag.leather,.men.wallet.leather,.men.bag.rexin,.men.wallet.rexin"
希望我清楚我需要什么。
非常感谢你的帮助。
更新:由于过滤器在不同的产品上可能会有所不同,所以我无法使用硬编码的变量,如性别、类型等。所以我用的是filters array
var selectedFilter = [];
selectedFilter['gender'] = ['.men'];
selectedFilter['type'] = ['.bag','.wallet'];
selectedFilter['platform'] = ['.leather','.rexin'];
需要输出如下:".men.bag.leather .men.wallet.leather .men.bag.rexin .men.wallet.rexin"
需要一些函数,我可以直接传递一个数组变量。像
combine(selectedFilter);
可以使用组合算法
function combine(object) {
function c(part, index) {
array[index].forEach(function (a) {
var p = part.concat([a]);
if (p.length === array.length) {
r.push(p.join(''));
return;
}
c(p, index + 1);
});
}
var array = Object.keys(object).map(function (k) { return object[k]; }),
r = [];
c([], 0);
return r.join();
}
var selectedFilter = { // use an object instead of
gender: ['.men'], // an array with properties
type: ['.bag','.wallet'],
platform: ['.leather','.rexin']
};
console.log(combine(selectedFilter));
相关文章:
- 如何遍历包含对象的数组-javascript
- 保存数组javascript
- 查找数组javascript中包含的元素类型
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 从多维数组javascript中提取特定值
- 如何在数组javascript中选择伪随机值
- 拆分字符串数组(JavaScript)后未定义
- 从数组JavaScript中删除并返回最后n个项的最快方法
- 使用条件for循环更新数组-Javascript
- 从数组javascript创建新对象
- 用数组(javascript)中的值替换regex捕获
- 从数组[Javascript]的总长度中减去一个干净的数字
- 将一个字符串数组解析为一个新的数组javascript
- 如何将对象转换为对象数组javascript
- 赢得't循环数组javascript
- 从不同的数组 JavaScript 中获取值
- 多维数组 JAVASCRIPT 出了点问题
- 可以't分配给一个对象数组javascript
- 比较数组JavaScript中的对象
- 如何完成缺少(连续)元素的数组|Javascript