Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用另一个数组从数组中查找信息_Javascript_Arrays - Fatal编程技术网

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是,检查编辑以获得答案。