ど素人から毛を生やす。<延>

jsでforeachがやりたいとき、jQueryが使えるなら$.map()がそれっぽい?

Web > javascript 2018年5月2日(最終更新:3月前)

2018年5月2日に作成されたページです。
情報が古かったり、僕が今以上のど素人だった頃の記事だったりする可能性があります。

どもです。

jQeryの$.map()って、普段は$("input").map(function(){})みたいに
要素をループさせるのにばかり使っていたのですが、foreach的な使い方ができたんですね。

$.map(array, function(value, key){ })

こーすると。

しかもこのarrayのところ、オブジェクトでもOK。つまり連想配列OKです。やったぜ。

このとき、thisとvalueは同じものが入るので、セレクタとして使いたいときは$(this)でも$(value)でも可。

本気で知らなかった。
たまには真面目にレファレンス見なけりゃならんな。

ちなみに、似た動作としては$.eachなどがあるし、jsにはforEachなるものもある
しかしphpのforeachに近いのは$.mapかなーといった印象。あくまで印象。どうなんだろう実際。

let selecter = $(セレクタ);
let c = selecter.length;
for (let i=0; i<c; i++) {
	let value = selecter.eq(i).val();
	console.log(value);
}
for(let value of 配列){
	console.log(value);
}
for(key in object(連想配列)){
	let value = object[key];
	console.log(value);
}

まあでも、直球にforでもアリ。パフォーマンス的には最上だし。
returnやcontinueなどが普通に使えるのも強み。


参考サイト
js STUDIO[$.map()]

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった (0)
  • (・∀・) 参考になった (0)
  • (`・ω・´) 役に立った (0)