比较两个数组并使另一个数组在javascript中有所不同

比较两个数组并使另一个数组在javascript中有所不同,javascript,typescript,Javascript,Typescript,我有下面两种类型的数组,我想检查两个数组(array1和array2),并创建另一个数组(array3),该数组有一个值,该值在array1中不可用 对于ex-“mob2”、“pin”、“address2”、“city”在array1中提供,但在array2中不提供。我想在array3中删除这些数组键和值 让数组3=[]; 设数组1={ “fname”:“测试文本”, “lname”:“测试文本”, “pin”:856, “address1”:“测试文本”, “地址2”:“测试文本”, “城市”

我有下面两种类型的数组,我想检查两个数组(
array1
array2
),并创建另一个数组(
array3
),该数组有一个值,该值在
array1
中不可用

对于ex-
“mob2”、“pin”、“address2”、“city”在
array1
中提供,但在
array2
中不提供。我想在
array3
中删除这些数组键和值

让数组3=[];
设数组1={
“fname”:“测试文本”,
“lname”:“测试文本”,
“pin”:856,
“address1”:“测试文本”,
“地址2”:“测试文本”,
“城市”:“测试文本”,
“mob1”:35343,
“mob2”:343
};
设array2=['fname','lname','mob1','address1'];
预期产出

array3['mob2']=343;
阵列3['pin']=856;
数组3['address2']=“测试文本”;
数组3['city']=“测试文本”;
您可以首先将第一个对象中的所有

['fname', 'lname', 'pin', ...] // keys from `obj`
然后,您可以在此数组上使用删除要排除的键的
arr
中出现的任何键值。这将为您提供一个要保留的密钥数组,您可以通过映射来创建一个
[key,value]
对数组。然后,可以在调用中使用此键值对数组,该调用将为您生成结果对象:
const obj={
“fname”:“测试文本”,
“lname”:“测试文本”,
“pin”:856,
“address1”:“测试文本”,
“地址2”:“测试文本”,
“城市”:“测试文本”,
“mob1”:35343,
“mob2”:343
};
常量arr=['fname','lname','mob1','address1'];//要排除的键
常量keys=Object.keys(obj).filter(key=>!arr.includes(key));
const res=Object.fromEntries(key.map(key=>[key,obj[key]]);
控制台日志(res)您可以首先将第一个对象中的所有

['fname', 'lname', 'pin', ...] // keys from `obj`
然后,您可以在此数组上使用删除要排除的键的
arr
中出现的任何键值。这将为您提供一个要保留的密钥数组,您可以通过映射来创建一个
[key,value]
对数组。然后,可以在调用中使用此键值对数组,该调用将为您生成结果对象:
const obj={
“fname”:“测试文本”,
“lname”:“测试文本”,
“pin”:856,
“address1”:“测试文本”,
“地址2”:“测试文本”,
“城市”:“测试文本”,
“mob1”:35343,
“mob2”:343
};
常量arr=['fname','lname','mob1','address1'];//要排除的键
常量keys=Object.keys(obj).filter(key=>!arr.includes(key));
const res=Object.fromEntries(key.map(key=>[key,obj[key]]);

控制台日志(res)
对于
arr1
,使用数组而不是对象文字是否有原因?这是否回答了您的问题
array1
array3
应该是对象。我可以使用array实现还是只使用对象?可以使用array3和array1的数组,但这样做没有实际意义。数组2可以作为数组使用。
arr1
使用数组而不是对象文字有什么原因吗?这是否回答了您的问题
array1
array3
应该是对象。我可以使用array实现还是只使用对象?可以使用array3和array1的数组,但这样做没有实际意义。数组2与数组一样好