2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« VBScriptやVBAからJScriptのArrayオブジェクトのインデックスアクセス(その2) | トップページ | VBScriptやVBAの配列に不定数の要素を追加するには? »

2008年5月17日 (土)

VBScriptやVBAからJScriptのArrayオブジェクトのインデックスアクセス(その3)

ラッパ関数を介して、インデックスアクセスするのが、お勧めです。

Set sc=CreateObject("ScriptControl")
sc.Language="JScript"
sc.AddCode "function set(a,k,v){a[k]=v;}function get(a,k){return a[k];}"

参照は、
  x=a[k]
の代わりに、
  x=sc.CodeObject.get(a,k)
または、
  x=sc.Run("get",a,k)

設定は、
  a[k]=x
の代わりに、
  call sc.CodeObject.set(a,k,x)
または、
  call sc.Run("set",a,k,x)

性能は、o(n)なので、n=a.length が大きくても、使えます。

また、Run()よりCodeObjectのほうが速くてよいでしょう。

« VBScriptやVBAからJScriptのArrayオブジェクトのインデックスアクセス(その2) | トップページ | VBScriptやVBAの配列に不定数の要素を追加するには? »