仅将唯一值推入数组

问题描述 投票:0回答:3

无法检查显示所有值的唯一值日志 添加到数组中

.

var moveToReady = [];       
 var topLinesRecords = new GlideRecord('x_snc_ms_dynamics_d365_queue');
    topLinesRecords.addEncodedQuery('root_element_sys_id=03133e1a1bfe6410f8ca0e16624bcba7');
    topLinesRecords.orderByDesc('sys_created_on');
    topLinesRecords.query();
    while(topLinesRecords.next()){

gs.info(' first record : ' + topLinesRecords.number);

    if(moveToReady.indexOf(topLinesRecords.getValue('object_sys_id')) == -1){
        moveToReady.push(topLinesRecords.getValue('object_sys_id'));
         }

gs.info('array.  : ' + moveToReady);
        updateRecordtoFail(topLinesRecords);
        }
javascript arrays methods servicenow
3个回答
1
投票

您可以使用 ES6 中的 Set 结构来使您的代码更快、更具可读性:

// Create Set
this.items = new Set();

add(item) {
    this.items.add(item);

    // Set to array
    console.log([...this.items]);
}

0
投票

您可以使用

array.includes

if (!moveToReady.includes(topLinesRecords.getValue('object_sys_id'))){
  moveToReady.push(topLinesRecords.getValue('object_sys_id'));
}

0
投票

因此,在 ServiceNow 上获得独特价值的一些技巧: -GlideRecord 有一个“getUniqueValue”方法 (网址:https://docs.servicenow.com/bundle/paris-platform-administration/page/administer/table-administration/concept/c_UniqueRecordIdentifier.html

-您可以搜索包含 OOB 方法/函数的脚本以仅获取唯一值。搜索“utils”。每个实例都有这个,也许是“ArrayUtils”。

希望这些信息有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.