使用 Javascript 检查数组中存在的元素
Check elements present in array using Javascript
我有一种情况想检查一个数组中的元素是否存在于另一个数组中。如果存在元素,则将它们推送到新数组中。在这种情况下,我有一个字符串数组。
例如
var check = ["6003", "6005", "6010"]; //static values. I need to check these elements if they are present in InputValues
var InputValues = ["5005", 2005", "6010"]; //dynamic input values
var result = ["6010"]; //dyanimic final array based off elements in InputValues
同理,
var InputValues = ["5005", 6005", "6010"];
var result = ["6005", "6010"];
谁能告诉我如何实现这个动态结果。
var result = InputValues.filter((val) => check.includes(val));
编辑:用错方法了!如果您不关心 IE(尽管它在 Edge 中),.includes()
是有效的,否则这是 "modern" 要使用的 :-)
您可以使用Array.indexOf with Array.filter
var result = InputValues.filter(elem => check.indexOf(elem) >= 0);
基本上它所做的是,它将根据 check
区分大小写的方式过滤 InputValues
的元素。
我有一种情况想检查一个数组中的元素是否存在于另一个数组中。如果存在元素,则将它们推送到新数组中。在这种情况下,我有一个字符串数组。
例如
var check = ["6003", "6005", "6010"]; //static values. I need to check these elements if they are present in InputValues
var InputValues = ["5005", 2005", "6010"]; //dynamic input values
var result = ["6010"]; //dyanimic final array based off elements in InputValues
同理,
var InputValues = ["5005", 6005", "6010"];
var result = ["6005", "6010"];
谁能告诉我如何实现这个动态结果。
var result = InputValues.filter((val) => check.includes(val));
编辑:用错方法了!如果您不关心 IE(尽管它在 Edge 中),.includes()
是有效的,否则这是 "modern" 要使用的 :-)
您可以使用Array.indexOf with Array.filter
var result = InputValues.filter(elem => check.indexOf(elem) >= 0);
基本上它所做的是,它将根据 check
区分大小写的方式过滤 InputValues
的元素。