gpt4 book ai didi

javascript - 合并对象的最简洁方法

转载 作者:太空宇宙 更新时间:2023-11-03 22:36:24 24 4
gpt4 key购买 nike

我有一些具有相同结构的对象;其中一些对象的某些字段具有空值,而其中一个对象(此处为 obj2)的字段值在其他对象中具有空值;我希望将它们合并并考虑有值(value)的一个:

var obj2 = {
options: [
null
],
name: "name1",
}

var obj1 = {
options: [
{"option": "option1"}
],
name: "name1",
}

desiredOutput = {
options: [
{"option": "option1"}
],
name: "name1",
}

我的尝试:我尝试了洛达什;但 lodash 的问题是订单有效果;也就是说,无论最后出现的哪个对象都会覆盖上述字段的前一个对象:

我尝试了lodash;这里 myArray 是 obj1, obj2,... 的数组

    var newResults = {};
for (var i = 0; i < myArray.length; i++) {
newResults = lodash.extend(newResults, myArray[i]);
}

最干净的解决方案是什么?谢谢

最佳答案

根据您在问题和评论中的解释,我们试图完成的是选择 myArray 中的对象,其中 options 不包含 。在这种情况下,我们不需要执行合并,我们只需在数组中搜索所需的对象即可。

var newResults = _.find(myArray, function (obj) {
return !_.contains(obj.options, null);
});

newResults 将是数组中 options 不包含 null 的第一个对象。

关于javascript - 合并对象的最简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27714977/

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