DOM

1
2
3
4
5
6
<ul>
<li>item1</li>
<li>item2</li>
<li>item3</li>
<li>item4</li>
</ul>

Normal Solution

1
2
3
4
5
var items = [];
$('li').each(function(){
items.push( $(this).text() );
});
items.join(); // "item1,item2,item3,item4"

Advanced Solution

1
2
3
4
var items = $('li').map(function(){
return $(this).text();
}).get();
items.join(); // "item1,item2,item3,item4"

如果不使用 jQuery 改用原生寫法,需使用支援 ECMAScript 5.1 的瀏覽器 ( browser compatibility )

Performance

還沒仔細研究 jQuery 實作 map() 的方式,不過稍微測一下 performance 其實兩者差不多