# Javascript Reference Type
# 텍스트 결합시 구분자 사용을 위한 join() 활용 예
if (comic.bgm) {
text.push('배경음악');
}
if (comic.crossView) {
text.push('크로스 뷰어');
}
if (comic.hasSide) {
text.push('외전');
}
if (text.length) {
$('#artist-info .info-text').html(text.join(' / '));
}
# 템플릿 Replace용으로 join() 활용 예
template: function(template, props) {
// 원본을 훼손하지 않도록 임시 저장한다.
var result = template;
for (var key in props) {
result = result.split('{{' + key + '}}').join(props[key]);
}
return result;
},
# push/pop & unshift/shift
push/pop : Stack (많이 씀) unshift/shift : Queue
# sort()
// 역순 정렬
function compare(a, b){
return b - a;
}
array.sort(compare);
// 에피소드 정렬하기
episodes.sort(function(a, b) {
return b.seq - a.seq;
});
// localeCompare는 왜 만들었다고 했더라?
this.promotions.sort(function(a, b) {
return a.slot.localeCompare(b.slot);
});
// 랜덤 정렬
comics.sort(function() {
return .5 - Math.random();
});
# filter()
// true값만 반환도 가능
var a = [1, 0, 5, undefined, '', null];
a.filter(Boolean);
# 반복 메서드는 모두 많이 씀
every, filter, forEach, map, some