どもです。
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()]