Javascript 使用另一个数组从数组中查找信息
我目前有这个问题,我似乎无法找到一个具体的答案,我的问题Javascript 使用另一个数组从数组中查找信息,javascript,arrays,Javascript,Arrays,我目前有这个问题,我似乎无法找到一个具体的答案,我的问题 Array1 = ["item1", "item2", "item3", "item4", "item5"] Array2 = ["item2", "item5"] 我希望使用array2中的信息在array1中查找 一个用于输出的示例 Array1有第2项,位于Array1[1] 如果有人可以帮助我,谢谢。如果您只想知道Array1包含来自Array2的元素,请迭代Array2,为每个元素调用indexOf: Array2.map((
Array1 = ["item1", "item2", "item3", "item4", "item5"]
Array2 = ["item2", "item5"]
我希望使用array2中的信息在array1中查找
一个用于输出的示例
Array1有第2项,位于Array1[1]
如果有人可以帮助我,谢谢。如果您只想知道Array1包含来自Array2的元素,请迭代Array2,为每个元素调用indexOf:
Array2.map((el => {
if (Array1.indexOf(el) !== -1) {
console.log('Array 1 contains ' + el);
}
}));
如果您只想知道Array1包含来自Array2的元素,则迭代Array2,为每个元素调用indexOf:
Array2.map((el => {
if (Array1.indexOf(el) !== -1) {
console.log('Array 1 contains ' + el);
}
}));
您可以查看,并帮助您理解此代码
编辑
回答评论中的问题,如果要检查Array1中包含Array2元素作为子字符串的元素,则可以:
Array2.forEach((e) => {
Array1.forEach((f, i) => {
if (f.toLowerCase().includes(e)) {
console.log(`Array1 has ${e} and is at Array1[${i}]`)
}
})
})
有关在另一个字符串中查找子字符串的详细信息,请检查和
您可以查看,并帮助您理解此代码
编辑
回答评论中的问题,如果要检查Array1中包含Array2元素作为子字符串的元素,则可以:
Array2.forEach((e) => {
Array1.forEach((f, i) => {
if (f.toLowerCase().includes(e)) {
console.log(`Array1 has ${e} and is at Array1[${i}]`)
}
})
})
有关在另一个字符串中查找子字符串的详细信息,请检查和。以下是代码:
var Array1 = ["item1", "item2", "item3", "item4", "item5"];
var Array2 = ["item2", "item5"];
for (var i = 0; i <Array2.length; i++) {
if (Array1.indexOf(Array2[i])>-1) {
console.log("Array1 has "+Array2[i]+" and is at Array1["+Array1.indexOf(Array2[i]) +"]")
}
}
var Array1=[“第1项”、“第2项”、“第3项”、“第4项”、“第5项];
变量Array2=[“项目2”,“项目5”];
对于(变量i=0;i-1){
log(“Array1具有“+Array2[i]+”并且位于Array1[“+Array1.indexOf(Array2[i])+”])”)
}
}
这是代码:
var Array1 = ["item1", "item2", "item3", "item4", "item5"];
var Array2 = ["item2", "item5"];
for (var i = 0; i <Array2.length; i++) {
if (Array1.indexOf(Array2[i])>-1) {
console.log("Array1 has "+Array2[i]+" and is at Array1["+Array1.indexOf(Array2[i]) +"]")
}
}
var Array1=[“第1项”、“第2项”、“第3项”、“第4项”、“第5项];
变量Array2=[“项目2”,“项目5”];
对于(变量i=0;i-1){
log(“Array1具有“+Array2[i]+”并且位于Array1[“+Array1.indexOf(Array2[i])+”])”)
}
}
您可以使用Ramdajs查找两个数组的交集,如下所示
const Array1 = ["item1", "item2", "item3", "item4", "item5"];
const Array2 = ["item2", "item5"];
const res = R.intersection(Array1, Array2);
console.log(res);
代码是排斥的吗
使用lodash也可以实现同样的效果
const Array1 = ["item1", "item2", "item3", "item4", "item5"];
const Array2 = ["item2", "item5"];
const res = _.intersection(Array1, Array2)
console.log(res);
是lodash的缩写
也可以使用数组的includes方法来执行相同的操作
const Array1=[“第1项”、“第2项”、“第3项”、“第4项”、“第5项];
常量数组2=[“项2”,“项5”];
常数res=Array1.filter(curr=>Array2.includes(curr));
控制台日志(res)代码>您可以使用Ramdajs查找两个数组的交集,如下所示
const Array1 = ["item1", "item2", "item3", "item4", "item5"];
const Array2 = ["item2", "item5"];
const res = R.intersection(Array1, Array2);
console.log(res);
代码是排斥的吗
使用lodash也可以实现同样的效果
const Array1 = ["item1", "item2", "item3", "item4", "item5"];
const Array2 = ["item2", "item5"];
const res = _.intersection(Array1, Array2)
console.log(res);
是lodash的缩写
也可以使用数组的includes方法来执行相同的操作
const Array1=[“第1项”、“第2项”、“第3项”、“第4项”、“第5项];
常量数组2=[“项2”,“项5”];
常数res=Array1.filter(curr=>Array2.includes(curr));
控制台日志(res)代码>为什么示例输出没有提到“item5”
?同一字符串是否可能在数组1
中出现多次?到目前为止你试过什么?我在想,一个简单的for
循环Array2
,调用Array1.indexOf()
就可以很容易地完成这项工作。如果你的问题是“请为我编写完整的代码”,那么你真正想要的是一个JS教程——上面有一些链接。你的问题是什么?您只是陈述了有关阵列的事实,为什么示例输出没有提到“item5”
?同一字符串是否可能在数组1
中出现多次?到目前为止你试过什么?我在想,一个简单的for
循环Array2
,调用Array1.indexOf()
就可以很容易地完成这项工作。如果你的问题是“请为我编写完整的代码”,那么你真正想要的是一个JS教程——上面有一些链接。你的问题是什么?您只是陈述了有关数组的事实。。forEach()
是比.map()
更好的选择。结果是一样的,但是.map()
意味着您正在映射某些东西。你不是,是的,你是对的。出于习惯,我倾向于选择map,但foreach在这里更好。.foreach()
比.map()
更好。结果是一样的,但是.map()
意味着您正在映射某些东西。你不是,是的,你是对的。出于习惯,我倾向于选择地图,但foreach在这里更好。优秀的答案。非常感谢。一个问题。有没有可能让Array2
搜索更多关于查找特定单词的信息,而不管它在Array1
中的位置如何?更像是include或contains方法。例如,假设它是“largeitem1”,并且Array2
仍然有“item1”@UndefinedUsername是,检查编辑以获得答案。未完成的答案。非常感谢。一个问题。有没有可能让Array2
搜索更多关于查找特定单词的信息,而不管它在Array1
中的位置如何?更像是include或contains方法。例如,假设它是“largeitem1”,并且Array2
仍然有“item1”@UndefinedUsername是,检查编辑以获得答案。