微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在对象数组中查找和更新不同的对象

如何解决在对象数组中查找和更新不同的对象

我从表格中 gliderecord 之后生成了对象数组。

我需要将所有结果记录的字段状态更新为永久失败。 & 在更新所有这些之后。

我需要找出所有最新的重复对象并再次将它们更新为就绪状态

var gr = new GlideRecord('table');
gr.addQuery('filter');
gr.query();
var Arr=[];
while(gr.next()){
Arr.push(gr);
gr.status = 'permanently Failed';

// after updating all the records status to permanently Failed.
//need to compare with object's "object id" field & if any duplicate object is found keep the latest updated one 
//after all the filtered array of objects need to again update the status to ready .

}

解决方法

你认为你有一个对象数组,但你没有。相反,您拥有的是一个数组,其中包含对同一对象的一堆引用。当您调用 gr.next() 时,您正在更新对象 gr 的内容。当您到达循环末尾时,您的数组将包含一堆对 gr 的引用,而 gr 将包含处理的最后一条记录的内容。

为了创建一个对象数组,您需要每次通过循环创建一个新对象。你需要做这样的事情:

while (gr.next()) {
    var obj = {
        sys_id: gr.getValue('sys_id'),status: gr.getValue('status')
    };
    Arr.push(obj);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。