gpt4 book ai didi

javascript - 展平数组并查找相应值并写入新数组

转载 作者:行者123 更新时间:2023-12-03 03:24:45 25 4
gpt4 key购买 nike

目前,我迭代一组 linkedObjects 来搜索 isMatch。此测试查看 element.id 是否存在于数组 obj.resource_ids 中,如果存在,则我们将匹配的 AppointmentObj 中的可打印字符串添加到 printStr 中的数组中。

问题的出现是因为 value.resource_uniqueids 可能是一个包含许多 id 的数组,但我的测试只找到一个。

不知何故,我需要匹配 value.resource_uniqueids 中的所有 id。 - 我可能需要为每个 value.resource_uniqueids 添加一个新的 AppointmentObj,然后连接每个等效的可打印字符串

我希望这是有道理的。如何为 value.resource_uniqueids 的每个匹配项添加新的 ${currentMatch.printable-string}

谢谢!

_.forEach(appointmentObj, (value,i) => {

// value.resource_uniqueids is always an array, most of the time it only has one element
// but sometimes it can have more than one which means we only match one below in isMatch function

_.set(appointmentObj[i], 'resource_ids', value.resource_uniqueids );
_.set(appointmentObj[i], 'printable-string', `${value.title}, ${moment(value.created_at).format( 'Do MMMM YYYY')}` );
});

linkedObjects.forEach((element, index) => {

let isMatch = appointmentObj.find((obj) => {
return _.includes(obj.resource_ids,element.id);
});

if(isMatch) {
linkedObjects[index]['content']['printstring'] = `${currentMatch.printable-string}`;
}
});

最佳答案

The problem comes because value.resource_uniqueids could be an array containing many ids but my test only ever finds one.

Array.prototype.find() 从数组中返回单个匹配元素。如果预期结果是迭代数组中的多个匹配结果,请使用 Array.prototype.filter()。

关于javascript - 展平数组并查找相应值并写入新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46384145/

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