Given an array (arr) as an argument complete the function countSmileys that should return the total number of smiling faces.
Rules for a smiling face:
Valid smiley face examples: :) :D ;-D :~)
Invalid smiley faces: ;( :> :} :]
해석 :
argument 객체로써 배열을 받아 웃는 얼굴의 총 갯수를 리턴하는 countSmileys 함수를 완성하라.
웃는 얼굴의 규칙:
유효한 웃는 얼굴 예시: :) :D ;-D :~)
유효하지 않는 예시: ;( :> :} :]
countSmileys([':)', ';(', ';}', ':-D']); // should return 2;
countSmileys([';D', ':-(', ':-)', ';~)']); // should return 3;
countSmileys([';]', ':[', ';*', ':$', ';-D']); // should return 1;
function countSmileys(arr) {
const arr2 = [];
const smilyface = [':)', ':D', ';)', ';D', ':-)', ':-D', ';-)', ';-D', ':~)', ':~D', ';~)', ';~D'];
arr.filter( a => {
if (smilyface.includes(a)) arr2.push(a)
});
return arr2.length;
}
function countSmileys(arr) {
return arr.filter(x => /^[:;][-~]?[)D]$/.test(x)).length;
}