Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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_Ecmascript 6 - Fatal编程技术网

Javascript 检查数组中的任何对象是否包含另一个数组中列出的属性

Javascript 检查数组中的任何对象是否包含另一个数组中列出的属性,javascript,arrays,ecmascript-6,Javascript,Arrays,Ecmascript 6,我已经尝试了一些解决方案,并在这里查看了一下,但似乎无法使其工作 我有2个数组,想检查数组中的任何项是否包含另一个数组中的任何字符串 const stepsShown = ["ref2", "ref7"]; const items = [ { name: "item1", element: "ref1"}, { name: "item2", element: "ref2"} ]; const refsExist = items.some((r) =>{stepsShown.indexOf(

我已经尝试了一些解决方案,并在这里查看了一下,但似乎无法使其工作

我有2个数组,想检查数组中的任何项是否包含另一个数组中的任何字符串

const stepsShown = ["ref2", "ref7"];
const items = [
{ name: "item1", element: "ref1"},
{ name: "item2", element: "ref2"}
];
const refsExist = items.some((r) =>{stepsShown.indexOf(r.element);});
在这个例子中,我希望
refsExist
true


我想我的语法有点混乱!谁能帮忙吗?:)

除了需要测试非
-1
值之外,您的arrow函数不应该有括号

如果箭头函数由单个表达式组成,则不需要括号:

items.some(r=>stepsShown.indexOf(r.element)!=-1);
如果箭头函数包含语句或多个表达式,则需要大括号。使用花括号时,必须包含显式的
return
语句

items.some(r=>{
    for(some;thing;) { ... }
    return otherThing;
});
而不是依赖可读性较差的
.indexOf(..)=-1
test,您可以简单地使用
includes

items.some(r=>stepsShown.includes(r.element));

您几乎完全正确,只是需要测试非
-1
值,并且箭头函数不应该有括号

如果箭头函数由单个表达式组成,则不需要括号:

items.some(r=>stepsShown.indexOf(r.element)!=-1);
如果箭头函数包含语句或多个表达式,则需要大括号。使用花括号时,必须包含显式的
return
语句

items.some(r=>{
    for(some;thing;) { ... }
    return otherThing;
});
而不是依赖可读性较差的
.indexOf(..)=-1
test,您可以简单地使用
includes

items.some(r=>stepsShown.includes(r.element));

您可以找到一个元素,然后检查它是否未定义

const stepsShown=[“ref2”、“ref7”];
常数项=[
{name:“item1”,element:“ref1”},
{name:“item2”,元素:“ref2”}
];
const refsExist=items.find((r)=>{
返回步骤显示(r元素)>-1的索引;
});

console.log(refsExist!==未定义)您可以找到一个元素,然后检查它是否未定义

const stepsShown=[“ref2”、“ref7”];
常数项=[
{name:“item1”,element:“ref1”},
{name:“item2”,元素:“ref2”}
];
const refsExist=items.find((r)=>{
返回步骤显示(r元素)>-1的索引;
});

console.log(refsExist!==未定义)
您需要
包含
,而不是
索引of
-并且您需要从函数返回结果
包含
,而不是
索引of
-并且您需要从函数返回结果