ArrayUtil - グローバル

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:11分
  • ArrayUtil スクリプトインクルードは、JavaScript 配列を操作するためのメソッドを提供します。

    これらのメソッドは、任意のサーバー側のスクリプトで使用できます。

    ArrayUtil - concat(アレイ parent, アレイ child)

    2 つのアレイをマージします。

    表 : 1. パラメーター
    名前 タイプ 説明
    アレイ マージするアレイ
    アレイ マージするアレイ
    表 : 2. 返される内容
    タイプ 説明
    アレイ 両方の入力アレイからの要素のアレイ。重複は削除されません。
    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c");
    var a2 = new Array("c", "d", "e");
     
    gs.print("concat a1, a2: " + arrayUtil.concat(a1, a2));

    出力:concat a1, a2: a,b,c,c,d,e

    ArrayUtil - contains(アレイ array, オブジェクト element)

    指定された要素をアレイ内で検索します。要素がアレイに存在する場合は true を返し、そうでない場合は false を返します。

    表 : 3. パラメーター
    名前 タイプ 説明
    アレイ アレイ 検索対象のアレイです。
    要素 オブジェクト 検索する要素です。
    表 : 4. 返される内容
    タイプ 説明
    ブーリアン 要素がアレイ内で見つかったかどうかを示すフラグです。
    可能な値:
    • true:要素がアレイ内で見つかりました。
    • false:要素がアレイ内で見つかりませんでした。
    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c");
     
    gs.print("Contains b: " + arrayUtil.contains(a1, "b"));
    gs.print("Contains x: " + arrayUtil.contains(a1, "x"));
    出力 :
    Contains b: true
    Contains x: false

    ArrayUtil - convertArray(オブジェクト a)

    Java オブジェクトをアレイに変換します。

    表 : 5. パラメーター
    名前 タイプ 説明
    a オブジェクト 変換するオブジェクトです。
    表 : 6. 返される内容
    タイプ 説明
    アレイ オブジェクトから作成されるアレイ

    この例は、Java オブジェクトをアレイに変換しています。

    var arrayUtil = new ArrayUtil();
    // Returns a JavaObject with the logged in user's groups
    var groupObj = gs.getUser().getMyGroups();
    gs.print('groupObj: ' + Object.prototype.toString.call(groupObj));
    
    var groupArr = arrayUtil.convertArray(groupObj);
    gs.print('groupArr: ' + Object.prototype.toString.call(groupArr));

    出力:

    groupObj: [object JavaObject]
    groupArr: [object Array]

    ArrayUtil - diff(アレイ a, アレイ b)

    2 つ以上のアレイの相違点を検出します。

    任意の数のアレイをパラメーターとして提供することができます。

    表 : 7. パラメーター
    名前 タイプ 説明
    a アレイ アレイ
    b アレイ アレイ
    表 : 8. 返される内容
    タイプ 説明
    アレイ アレイ b または c、または他の入力アレイに見つからなかったアレイ a からのアイテムのアレイを返します。重複は結果から削除されます。
    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c");
    var a2 = new Array("c", "d", "e");
    gs.print(arrayUtil.diff(a1, a2));

    出力:a,b

    ArrayUtil - ensureArray(オブジェクト object)

    指定されたオブジェクトからアレイを返します。

    表 : 9. パラメーター
    名前 タイプ 説明
    オブジェクト オブジェクト アレイの作成元のオブジェクトです。
    表 : 10. 返される内容
    タイプ 説明
    アレイ オブジェクトから作成されるアレイです。

    次の例は、オブジェクトからアレイを作成し、作成したアレイを表示する方法を示しています。

    var arrayUtil = new ArrayUtil();
    var o1 = {a:"1",b:"2",c:"3"};
    gs.print('o1 is array: ' + Array.isArray(o1));
    gs.print('o1 stringified: ' + JSON.stringify(o1));
    
    var a1 = arrayUtil.ensureArray(o1);
    gs.print('a1 is array: ' + Array.isArray(a1));
    gs.print('a1 stringified: ' + JSON.stringify(a1));
    出力 :
    o1 is array: false
    o1 stringified: {"a":"1","b":"2","c":"3"}
    a1 is array: true
    a1 stringified: [{"a":"1","b":"2","c":"3"}]

    次の例は、オブジェクトからアレイを作成し、アレイの内容を表示する方法を示しています。

    var stock = { 'name': 'Servicenow', 'sym': 'NOW' };
    
    var arr = new ArrayUtil();
    var stArray = arr.ensureArray(stock);
    
    gs.info("Name is " + stArray[0]['name']);
    gs.info("Symbol is " + stArray[0]['sym']);
    出力:
    Name is Servicenow
    Symbol is NOW

    ArrayUtil - indexOf(アレイ array, オブジェクト element)

    要素のアレイを検索します。要素インデックスを返します。見つからない場合は -1 を返します。

    表 : 11. パラメーター
    名前 タイプ 説明
    アレイ アレイ 検索対象のアレイです。
    要素 オブジェクト 検索する要素です。
    表 : 12. 返される内容
    タイプ 説明
    番号 アレイ内の要素の位置です。要素が見つからない場合は -1 です。
    var arrayUtil = new ArrayUtil();
    var arr = new Array("a", "b", "c", "x", "y", "z");
    gs.print("Array: " + arr);
    
    gs.print("Index of a: " + arrayUtil.indexOf(arr, "a"));
    gs.print("Index of a starting at 2: " + arrayUtil.indexOf(arr, "a", 2));
    
    gs.print("Index of c: " + arrayUtil.indexOf(arr, "c"));
    gs.print("Index of c starting at 1: " + arrayUtil.indexOf(arr, "c", 1));
    
    gs.print("Index of z: " + arrayUtil.indexOf(arr, "z"));
    gs.print("Index of z starting at 4: " + arrayUtil.indexOf(arr, "z", 4));
    
    // If negative value is sent as startIndex then (startIndex + length of array ) is considered as start index.
    
    // startIndex = -1+(6); startIndex is considered as 5 in this case
    gs.print("Index of c starting at -1 (Re-Calculated to 5): " + arrayUtil.indexOf(arr, "c", -1)); 
    
    // startIndex = -10+(6) which is -4,if negative value again then startIndex is considered as 0
    gs.print("Index of c starting at -10 (Re-Calculated to 0): " + arrayUtil.indexOf(arr, "c", -10)); 
    出力:
    Array: a,b,c,x,y,z
    Index of a: 0
    Index of a starting at 2: -1
    Index of c: 2
    Index of c starting at 1: 2
    Index of z: 5
    Index of z starting at 4: 5
    Index of c starting at -1 (Re-Calculated to 5): -1
    Index of c starting at -10 (Re-Calculated to 0): 2

    ArrayUtil - indexOf(アレイ array, オブジェクト element, 数値 startIndex)

    指定されたインデックスで始まる要素をアレイ内で検索します。要素のインデックスを返します。見つからない場合は -1 を返します。

    表 : 13. パラメーター
    名前 タイプ 説明
    アレイ アレイ 検索対象のアレイです。
    要素 オブジェクト 検索する要素です。
    startIndex 番号 検索を開始するインデックスです。
    表 : 14. 返される内容
    タイプ 説明
    番号 アレイ内の要素の位置です。要素が見つからない場合は -1 です。
    var arrayUtil = new ArrayUtil();
    var arr = new Array("a", "b", "c", "x", "y", "z");
    gs.print("Array: " + arr);
    
    gs.print("Index of a: " + arrayUtil.indexOf(arr, "a"));
    gs.print("Index of a starting at 2: " + arrayUtil.indexOf(arr, "a", 2));
    
    gs.print("Index of c: " + arrayUtil.indexOf(arr, "c"));
    gs.print("Index of c starting at 1: " + arrayUtil.indexOf(arr, "c", 1));
    
    gs.print("Index of z: " + arrayUtil.indexOf(arr, "z"));
    gs.print("Index of z starting at 4: " + arrayUtil.indexOf(arr, "z", 4));
    
    // If negative value is sent as startIndex then (startIndex + length of array ) is considered as start index.
    
    // startIndex = -1+(6); startIndex is considered as 5 in this case
    gs.print("Index of c starting at -1 (Re-Calculated to 5): " + arrayUtil.indexOf(arr, "c", -1)); 
    
    // startIndex = -10+(6) which is -4,if negative value again then startIndex is considered as 0
    gs.print("Index of c starting at -10 (Re-Calculated to 0): " + arrayUtil.indexOf(arr, "c", -10)); 
    出力:
    Array: a,b,c,x,y,z
    Index of a: 0
    Index of a starting at 2: -1
    Index of c: 2
    Index of c starting at 1: 2
    Index of z: 5
    Index of z starting at 4: 5
    Index of c starting at -1 (Re-Calculated to 5): -1
    Index of c starting at -10 (Re-Calculated to 0): 2

    ArrayUtil - intersect(アレイ a, アレイ b)

    すべてのアレイに存在する要素を検索します。

    任意の数のアレイをパラメーターとして提供することができます。

    表 : 15. パラメーター
    名前 タイプ 説明
    a アレイ アレイ
    b アレイ アレイ
    表 : 16. 返される内容
    タイプ 説明
    アレイ 他のすべての入力アレイで見つかったアレイの要素のアレイ。重複は削除されます。
    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c");
    var a2 = new Array("c", "d", "e");
    gs.print(arrayUtil.intersect(a1, a2));

    出力:c

    ArrayUtil - union(アレイ a, アレイ b)

    2 つ以上のアレイをマージします。

    任意の数のアレイをパラメーターとして提供することができます。

    表 : 17. パラメーター
    名前 タイプ 説明
    a アレイ アレイ
    b アレイ アレイ
    表 : 18. 返される内容
    タイプ 説明
    アレイ すべての入力アレイからの項目のアレイ。重複は削除されます。
    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c");
    var a2 = new Array("c", "d", "e");
    gs.print(arrayUtil.union(a1, a2));

    出力:a,b,c,d,e

    ArrayUtil - unique(アレイ a)

    アレイから重複した項目を削除します。

    表 : 19. パラメーター
    名前 タイプ 説明
    a アレイ 重複する要素をチェックするアレイ
    表 : 20. 返される内容
    タイプ 説明
    アレイ 入力アレイからの一意のアイテムのアレイ
    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c", "c", "b");
    gs.print(arrayUtil.unique(a1));

    出力:a,c,b