JavaScript数组indexOf数组?
我想知道我怎么能检查这个。 例如: 如何使两种产品与其中一种类别匹配? 希望有人能帮我:plain js: 洛达斯: 使用simple for:JavaScript数组indexOf数组?,javascript,arrays,lodash,indexof,Javascript,Arrays,Lodash,Indexof,我想知道我怎么能检查这个。 例如: 如何使两种产品与其中一种类别匹配? 希望有人能帮我:plain js: 洛达斯: 使用simple for: 从代码方面来说,这不是一个很好的解决方案,但如果有人不理解,这是可行的,这一点是很清楚的 var乘积=[ { 标题:“产品1”, 类别:[‘一’、‘二’、‘三’] }, { 标题:“产品2”, 类别:[‘三’、‘四’] } ]; var类别=['2','4']; var-retArr=[]; 对于i=0;i.长度++我{ 对于j=0;j-1{//检查
从代码方面来说,这不是一个很好的解决方案,但如果有人不理解,这是可行的,这一点是很清楚的 var乘积=[ { 标题:“产品1”, 类别:[‘一’、‘二’、‘三’] }, { 标题:“产品2”, 类别:[‘三’、‘四’] } ]; var类别=['2','4']; var-retArr=[]; 对于i=0;i.长度++我{ 对于j=0;j
console.logretar 只是简单的循环:
var foundproducts = [];
for (i = 0; i < products.length; i++) {
for (u = 0; u < categories.length; u++) {
if (products[i].categories.indexOf(categories[u]) != -1) {
foundproducts.push(products[i].title);
break;
}
}
}
我真的不明白这个问题!为什么是“['2','4'”?根据您需要的产品类别,我的意思是什么?我想过滤与lodash uu.findproducts、functionitem{return item.categories.IndexOfcCategories>-1;}匹配类别数组的产品;这使用了一个posterAt没有提到的库,至少提到了这段代码使用的库。是的,应该提到我确实使用了lodash。。但也许有一个更干净的纯JavaScript解决方案,就像这样:谢谢,这很有效!虽然你有一个拼写错误的分类;-再次感谢!
products.filter(function(product) {
return categories.some(function(cat) {
return product.categories.indexOf(cat) >= 0;
});
});
_.filter(products, function(product) {
return _.some(categories, function(cat) {
return _.indexOf(product.categories, cat) >= 0;
});
});
var products = [
{
title: 'Product 1',
categories: ['One', 'Two', 'Three']
},
{
title: 'Product 2',
categories: ['Three', 'Four']
}
];
var categories = ['Two', 'Four'];
var list = []
for (x in products) {
for (y in products[x].categories) {
if (categories.indexOf(products[x].categories[y]) != -1) {
list.push(products[x].title)
}
}
}
console.log(list) //here your match
var foundproducts = [];
for (i = 0; i < products.length; i++) {
for (u = 0; u < categories.length; u++) {
if (products[i].categories.indexOf(categories[u]) != -1) {
foundproducts.push(products[i].title);
break;
}
}
}