gpt4 book ai didi

javascript - 以 Angular 2 相交两个对象

转载 作者:行者123 更新时间:2023-11-30 15:48:21 25 4
gpt4 key购买 nike

我想做的是将两个对象相交。

我想比较对象,如果它们在相同的键上具有相同的值,只需将它们添加到另一个对象。

obj1 = { "Projects": [ "test"], "Companies": [ "facebook", "google", "yahoo"], "Locations": [ "LA", "NY"] , "兴趣": [] }

obj2 = { "Projects": [ "test"], "Companies": [ "netflix", "skype", "facebook"], "Locations": [ "sttugart", "torino", "LA"], "兴趣": [] }

结果将是:

obj3 = { "Projects": [ "test"], "Companies": [ "facebook"], "Locations": [ "LA"], "Interests": [] }

我试过的是这样的:

intersect(obj1, obj2)
for(let key of obj1)
if(obj2[key] == obj1[key]) obj3[key] = obj2[key];

是的,我确实检查了其他解决方案,但没有结果。

编辑

我的尝试可能行不通,因为我的对象不是数组类型或字符串类型

最佳答案

这并不是 angular 2 的问题,而是更多 javascript 本身的问题。在这里没有 Angular 函数可能会帮助你

使用 lodash 或 underscore.js 可能会更有效率和有用

但是,如果您坚持需要以您自己的方式执行此操作。有两种情况

一个是您已经知道要比较多少个对象

二是您不知道要比较多少个对象

对于第一种情况,它将是一个简单的 for 循环,其中包含用于逻辑比较的 && 情况

对于第二种情况,我建议您首先将所有需要比较的对象放入一个数组中,然后遍历那里。

关于javascript - 以 Angular 2 相交两个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39739421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com