Incorrect result on array using includes()

KB15
Giga Guru

I've used a similar script in the past which works but I'm not sure why I'm not getting the results this time around. I'm placing variable results into an array and attempting to evaluated the array with includes(). The result is never yes even though the array contains the correct value. I'm running this as a background script for testing purposes.

var array = [];

                                                             

var gr = new GlideRecord('sc_req_item');

gr.addQuery('request', 'd65ec5b7130dc3000b63b86f3244b076');

gr.query();

while (gr.next()) {

        array.push(gr.variables.request_type_hardware);

}

gs.print(array);

if (array.includes('replacement_upgrade')) {

gs.print('yes');

        }

}

This is the array result:

find_real_file.png

1 ACCEPTED SOLUTION

Community Alums
Not applicable

That is entirely possible, though I would assume it's system-wide, as SN Rhino engine only supports ECMAScript 2015. I could be way out to lunch here, though



I just did this test in a background script:



var arrayUtil = new ArrayUtil();


var aNew = ['apples', 'oranges', 'bananas'];



if (aNew.includes('apples')) {


gs.print("includes");


}


if (arrayUtil.contains(aNew, 'apples')) {


gs.print("Util");


}



Only 'Util' was printed to the output.



Cheers,



Tim


View solution in original post

10 REPLIES 10

Louis20
Kilo Explorer

From a technical standpoint it makes no sense to use include or even make it as additional library.
Every code you add to your base increases the heap.

There is always object.indexOf();

var str1 = "Servicenow is awesome fast";
gs.print(str1.indexOf('Servicenow')); //Output: 0
var str2 = "Servicenow is awesomly thought thru";
var stra = str2.split(' ');
gs.print(stra.indexOf("thought")); //Output: 3
gs.print(stra.indexOf("heap")); //Output: -1