私はC++で作業してきましたが、この関数をここで紹介する必要はありません。jQueryの同等の関数memset()
を知りたいのですが。memset()
インターネットを検索しましたが、何も見つかりません。jqueryに同等の関数はまだありますか?
2 に答える
ここで、jQueryのmemset()と同等の関数は何ですか?
に相当するJavaScriptはありませんmemset
。memset
は低レベルのC関数であり、その実装とインターフェイスは、変数のアドレスとメモリ表現の両方にアクセスできるという事実に依存しています。
これらの2つの前提条件はいずれもjavascriptには有効ではありません。オブジェクトの内部をnullとゼロ(リフレクション/メタデータに基づく)に設定するものを実装することもできますが、それはまったく別の問題です。
C ++では、memset()
配列またはその他のオブジェクトを単純なブルートフォースのような方法で初期化するために使用できる関数です。JavaScriptを使用する場合、基本的に同じことをしたい場合があります。
このような関数を定義する方法の例をいくつか示します。単純な配列が渡されると、各行でジョブが完了します。これらの一部は、他のオブジェクトタイプでも機能する可能性があります。最初の行(jQuery.each
)は、最も効率的で一般的に役立つ場合があります(jQueryがあると仮定します)。
function memset( object, value )
{
jQuery.each( object, function(i,v){ object[i]=value; } );
// jQuery(object).each( function(i,v){ object[i]=value; } );
// for ( var i=0; i<object.length; i++ ) object[i]=value;
// for ( var i in object ) object[Number(i)]=value;
}
C ++と同様に、これmemset()
は低レベルの操作であり、使用は本質的に「プレーンオールドデータ」であるオブジェクトに限定する必要があります。単純な配列が代表的な例です。
追加の読み物: