ホームページ > 記事 > ウェブフロントエンド > jQueryのmap()とget()の詳細な分析
$( " li " ) など、jQuery には「配列のような」という概念があります。コレクションを取得すると、配列のいくつかの属性が存在しますが、配列のインスタンスは false のままです。ただし、 var a=$( "li" ).get()このように処理してからinstanceof 配列は true を返します。
var a=$( "li" ).get(1) にシリアル番号を追加すると、単一の要素を取得できることに注意してください。これらの要素の性質は jQuery オブジェクトではなく、Js オブジェクトです。 jQuery メソッドを直接使用することはできません。
map() の関数には主に 2 つのステップがあります。最初のステップは走査であり、2 番目のステップは置換です。
$( " li " ).map( function( ){ return $(this).text( ); // 注意return关键字不可少 } )
まずマップが走査され、各項目が text() 値を返します。その後、map は $("li") コレクション 内の各項目の値をこれらの値に自動的に置き換えます。したがって、現時点では、これはまだ配列のようなものであり (まだ $("li") のシェルであるため)、実際の配列ではありません。したがって、後で get() 操作を追加すると、実際の配列に変換されるため、配列固有のメソッドである join() を使用できます。
例:
$( " li " ).map( function( ){ return $(this).text( ); } ).get( ).join("%") // 拼接成字符串,中间用“%”隔开
追加:
map() と get() は、次のように配列コードを直接操作することもできます:
var arrayObj=["www","xxx","ddd"]; var ww=$.map(arrayObj,function(i){ return i; }).join(","); console.log(ww); var tt=$(":checkbox").map(function(){ return this.value; }).get().join(","); console.log(tt);
以上がjQueryのmap()とget()の詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。