Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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_Object_Conditional - Fatal编程技术网

Javascript-对象上的条件属性

Javascript-对象上的条件属性,javascript,object,conditional,Javascript,Object,Conditional,我有以下两个阵列: let arr1 = [{userId:"myUID1", name: "Dave"},{userId: "myUID2", name: "John"}] let arr2 = [{userId: "myUID3", dogs: 5}, {userId:"myUID1", children: 0}] 我想在arr2中找到具有userId==“myUID1”的对象,并检查它是否具有属性children 由于arr2[1]是userId==“myUID1”并且具有子属性,我想将

我有以下两个阵列:

let arr1 = [{userId:"myUID1", name: "Dave"},{userId: "myUID2", name: "John"}]
let arr2 = [{userId: "myUID3", dogs: 5}, {userId:"myUID1", children: 0}]
我想在
arr2
中找到具有
userId==“myUID1”
的对象,并检查它是否具有属性
children

由于
arr2[1]
userId==“myUID1”
并且具有
子属性
,我想将以下属性添加到
arr1[0]

let arr1 = [{userId:"myUID1", name: "Dave", hasChildren: true},{userId: "myUID2", name: "John"}]
我希望对
arr1
中的所有对象重复此操作,如果在
arr2
中具有相同
userId
的对象持有
children
属性,则将
haschilds
属性添加到每个对象中

达到我想要的结果的最佳方法是什么?

最简单的方法是:

find()方法返回数组中第一个元素的值 满足提供的测试功能。否则未定义 返回

但也可以使用each、forEach等迭代数组

检查解释的代码片段:

让arr1=[{userId:“myUID1”,name:“Dave”},{userId:“myUID2”,name:“John”}];
设arr2=[{userId:“myUID3”,dogs:5},{userId:“myUID1”,children:0}];
//首先,我们在arr2中找到该项。该函数告诉您要查找的内容。
var result2=arr2.find(函数(item){return(item.userId==“myUID1”);});
//如果它被发现了。。。
如果(结果的类型2===“对象”){
//我们在arr1中搜索相同的id
var result1=arr1.find(函数(项){return(item.userId==result2.userId);});
//并将属性添加到arr1的该项中
结果1.hasChildren=true;
//并将其打印出来,以便可以看到添加的属性
console.log(arr1);
}
最简单的方法是:

find()方法返回数组中第一个元素的值 满足提供的测试功能。否则未定义 返回

但也可以使用each、forEach等迭代数组

检查解释的代码片段:

让arr1=[{userId:“myUID1”,name:“Dave”},{userId:“myUID2”,name:“John”}];
设arr2=[{userId:“myUID3”,dogs:5},{userId:“myUID1”,children:0}];
//首先,我们在arr2中找到该项。该函数告诉您要查找的内容。
var result2=arr2.find(函数(item){return(item.userId==“myUID1”);});
//如果它被发现了。。。
如果(结果的类型2===“对象”){
//我们在arr1中搜索相同的id
var result1=arr1.find(函数(项){return(item.userId==result2.userId);});
//并将属性添加到arr1的该项中
结果1.hasChildren=true;
//并将其打印出来,以便可以看到添加的属性
console.log(arr1);

}
您可以按任何方式对其进行迭代。试一试,
for
forEach
,等等,是否使用for循环?你被困在哪里?您可以编写for循环并测试每个元素的userId属性是否相等。你可以用任何你想要的方式迭代它。试一试,
for
forEach
,等等,是否使用for循环?你被困在哪里?您可以编写for循环并测试每个元素的userId属性是否相等。