gpt4 book ai didi

javascript - 合并存在于可用键对象中的 2 个数组,删除对象的特定属性

转载 作者:行者123 更新时间:2023-11-30 09:27:38 25 4
gpt4 key购买 nike

我有 2 个对象 ab,它们都包含数组。我想合并每个对象中存在的数组并形成一个包含数组和文本节点的新对象。

我的代码:-

  var a = {
name1:[1,2],
name2:[3],
name3:'alisha',
name4:'japan'
};

var b = {
name1:[4],
name2:[5,6],
name3:'hello alisha!!'
};


newobject = function (obj1, obj2) {
var obj3 = {};
for (var attrname in obj1) {
obj3[attrname] = obj1[attrname];
}
for (var attrname in obj2) {
obj3[attrname] = obj2[attrname];
}
return obj3;
};

console.log(newobject(a,b))

我正在尝试做的事情:-

我有 2 个对象 ab,它们可能包含不同的数据以及相似的数据。如果两个对象具有相同的属性,我想混合数组中的数据,如果对象的属性是一个字符串,我想用 **b ** 对象相同的属性来更新它。

输出可能不准确,但它给出了 100% 解决此问题的提示

我试图获得的输出:-

  {
name1:[1,2,4],
name2:[3,5,6],
name3:'hello alisha!',
name4:'japan'
}

请不要使用jquery

最佳答案

如果您确实想要合并上面的示例,那么下面的示例将为您完成。

我不知道这对你的情况是否重要,但你可能还想考虑处理 a.name1stringb 的实例.name1 是一个数组

var a = {
name1: [1, 2],
name2: [3],
name3: 'alisha',
name4: 'japan'
};
var b = {
name1: [4],
name2: [5, 6],
name3: 'hello alisha!!'
};

function merge(a, b) {
var c = {};

for (var key in a) {
c[key] = a[key];
}

for (var key in b) {
c[key] = (Array.isArray(a[key])) ? a[key].concat(b[key]) : b[key];
}

return c;
}

console.log(merge(a, b));

关于javascript - 合并存在于可用键对象中的 2 个数组,删除对象的特定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48374111/

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