Javascript 筛选并包括提供意外结果

Javascript 筛选并包括提供意外结果,javascript,ecmascript-6,Javascript,Ecmascript 6,我在这里看到了一些我无法理解的非常奇怪的事情。我试图返回一个逗号分隔的字符串,其中包含strArr元素中出现的数字 您将在传递给FindIntersection的参数中看到[“1,2,4,5,6,9”,“2,3,4,8,10”]在两个数组中都出现2,但在过滤器中找不到它。有人能解释一下吗 const FindIntersection=(strArr)=>{ 常量strArrOne=strArr[0]。拆分(',') 常量strArrTwo=strArr[1]。拆分(',') const int

我在这里看到了一些我无法理解的非常奇怪的事情。我试图返回一个逗号分隔的字符串,其中包含
strArr
元素中出现的数字

您将在传递给
FindIntersection
的参数中看到
[“1,2,4,5,6,9”,“2,3,4,8,10”]
在两个数组中都出现
2
,但在
过滤器中找不到它。有人能解释一下吗

const FindIntersection=(strArr)=>{
常量strArrOne=strArr[0]。拆分(',')
常量strArrTwo=strArr[1]。拆分(',')
const intersection=strArrOne.filter(项=>{
console.log('2',strArrTwo)
console.log('item-->',item)
console.log('includes-->',strArrTwo.includes(项))
退货带两个。包括(项目)
}).join(“,”)。替换(/\s/g,”);
控制台日志(交叉点)
折返交叉口;
}

log(FindIntersection([“1,2,4,5,6,9”,“2,3,4,8,10”])数组1中的每个元素都有一个前导空格,因此需要在比较元素之前修剪()元素

const FindIntersection=(strArr)=>{
常量strArrOne=strArr[0]。拆分(',).map(x=>x.trim())
const strArrTwo=strArr[1]。拆分(',).map(x=>x.trim())
const intersection=strArrOne.filter(项=>{
退货带两个。包括(项目)
}).join(“,”)。替换(/\s/g,”);
控制台日志(交叉点)
折返交叉口;
}

log(FindIntersection([“1,2,4,5,6,9”,“2,3,4,8,10”])数组1中的每个元素都有一个前导空格,因此需要在比较元素之前修剪()元素

const FindIntersection=(strArr)=>{
常量strArrOne=strArr[0]。拆分(',).map(x=>x.trim())
const strArrTwo=strArr[1]。拆分(',).map(x=>x.trim())
const intersection=strArrOne.filter(项=>{
退货带两个。包括(项目)
}).join(“,”)。替换(/\s/g,”);
控制台日志(交叉点)
折返交叉口;
}

log(FindIntersection([“1,2,4,5,6,9”,“2,3,4,8,10”])
在第一个数组元素的
2
前面有一个额外的空格,您需要删除它,因为它包含用于检查是否存在的
=

const FindIntersection=(strArr)=>{
常量strArrOne=strArr[0]。拆分(',).map(s=>s.replace(/\s/g',))
const strArrTwo=strArr[1]。拆分(',).map(s=>s.replace(/\s/g'))
const intersection=strArrOne.filter(项=>{
console.log('2',strArrTwo)
console.log('item-->',item)
console.log('includes-->',strArrTwo.includes(项))
退货带两个。包括(项目)
}).join(“,”)。替换(/\s/g,”);
控制台日志(交叉点)
折返交叉口;
}

log(FindIntersection([“1,2,4,5,6,9”,“2,3,4,8,10”])
在第一个数组元素的
2
前面有一个额外的空格,您需要删除它,因为它包含用于检查是否存在的
=

const FindIntersection=(strArr)=>{
常量strArrOne=strArr[0]。拆分(',).map(s=>s.replace(/\s/g',))
const strArrTwo=strArr[1]。拆分(',).map(s=>s.replace(/\s/g'))
const intersection=strArrOne.filter(项=>{
console.log('2',strArrTwo)
console.log('item-->',item)
console.log('includes-->',strArrTwo.includes(项))
退货带两个。包括(项目)
}).join(“,”)。替换(/\s/g,”);
控制台日志(交叉点)
折返交叉口;
}

log(FindIntersection([“1,2,4,5,6,9”,“2,3,4,8,10”])删除空格是最简单的修复方法

const FindIntersection=(strArr)=>{
常量strArrOne=strArr[0]。拆分(',')
常量strArrTwo=strArr[1]。拆分(',')
const intersection=strArrOne.filter(项=>{
console.log('2',strArrTwo)
console.log('item-->',item)
console.log('includes-->',strArrTwo.includes(项))
退货带两个。包括(项目)
}).join(“,”)。替换(/\s/g,”);
控制台日志(交叉点)
折返交叉口;
}

日志(FindIntersection([“1,2,4,5,6,9”,“2,3,4,8,10”))删除空格是最简单的修复方法

const FindIntersection=(strArr)=>{
常量strArrOne=strArr[0]。拆分(',')
常量strArrTwo=strArr[1]。拆分(',')
const intersection=strArrOne.filter(项=>{
console.log('2',strArrTwo)
console.log('item-->',item)
console.log('includes-->',strArrTwo.includes(项))
退货带两个。包括(项目)
}).join(“,”)。替换(/\s/g,”);
控制台日志(交叉点)
折返交叉口;
}

日志(FindIntersection([“1,2,4,5,6,9”,“2,3,4,8,10”))因为除了数组中的第一项之外,其他项在数字之前还有空格。要解决此问题,您可以将所有项目映射为以下数字:

const FindIntersection=strArr=>{
const strArrOne=strArr[0]。拆分(“,”).map(项=>Number(项));
const strArrTwo=strArr[1]。拆分(“,”).map(item=>Number(item));
常数交点=斯特拉隆
.filter(项目=>{
控制台日志(“2”,两个);
日志(“项-->”,项);
console.log(“includes-->”,strArrTwo.includes(item));
退货单。包括(项目);
})
.join(“,”)
.替换(/\s/g,“”);
控制台日志(交叉点);
折返交叉口;
};

log(FindIntersection([“1,2,4,5,6,9”,“2,3,4,8,10”])因为除了数组中的第一项之外,其他项在数字之前还有空格。要解决此问题,您可以将所有项目映射为以下数字:

const FindIntersection=strArr=>{
const strArrOne=strArr[0]。拆分(“,”).map(项=>Number(项));
const strArrTwo=strArr[1]。拆分(“,”).map(item=>Number(item));
常数交点=斯特拉隆
.filter(项目=>{
控制台日志(“2”,两个);