『スクリプト 汎用関数』 配列の一部を削除する

投稿者:Cdv30200 aoi icon mini aoihikawa 投稿日:2012/08/04 13:53

配列かどうかを調べる
配列の実体コピーを行う 応用

def isArray(arr)
  return getArrayLength(splitString(toString(arr),",")) != 1
end
def copyArray(arr)
  r = createArray()
  i = 0; ilen = getArrayLength(arr)
  while i < ilen
    if isArray(arr[i])
      r[i] = copyArray(arr[i])
    else
      r[i] = arr[i]
    end
    i = i + 1
  end
  return r
end
def spliceArray(arr,a,l)
  r = createArray(); c = 0
  i = 0; ilen = getArrayLength(arr)
  while i < ilen
    if i < a || i > ((a + l) - 1)
      if isArray(arr[i])
        r[c] = copyArray(arr[i])
      else
        r[c] = arr[i]
      end
      c = c + 1
    end
    i = i + 1
  end
  return r
end


使用例
a = createArray()

a[0] = 1
a[1] = 2
a[2] = 3
a[3] = 4
a[4] = 5

#配列変数aの、1つ目から2つのデータを削除
b = spliceArray(a, 1, 2)

speak(b) # 1,4,5

コメントする

コメントするには、ログインする必要があります。

コメント一覧

コメントはありません。