// 공백문자열이 없다는 조건
function getCount(arr){
let countedNames = arr.split('').reduce(function (allElements, prop) {
if ( prop in allElements ) {
allElements[prop]++;
}
else {
allElements[prop] = 1;
} return allElements;
},{});
return countedNames;
}
■ 하단 예제는 공백문자열이 있을 경우, 제외하는 조건을 추가
function arrTostring(arr) {
let result = []
arr.forEach((i) => {
if (Array.isArray(i)) {
result.push(...arrTostring(i))
} else {
result.push(i)
}
});
return result.join('')
}
let arr = ["I", " ", "l",["o", "v", "e", " ",["y", "o"], "u"]]
>"I love you"
let names = [{ 'Alice': 20, 'Bob': 35, 'Helen': 40, 'Reon': 55 }];
function valueOutput(arr){
let maxValue = 0;
let maxUser = '';
arr.filter(function(x){
for(let key in x){
if ( maxValue < x[key]){
maxValue = x[key];
maxUser = key;
}
}
});
return `현재 ${maxUser}님이 최고령자이며 연세는 ${maxValue}입니다`
}
valueOutput(names);
> "현재 Reon님이 최고령자이며 연세는 55입니다"
let names = [{ 'A': 20, 'B': 35, 'C': 41, 'D': 55, 'E':32 }];
function valueOutput(arr){
let avgAge = [];
arr.filter(function(x){
for(let key in x){
avgAge.push(x[key]);
}
});
return avgAge.reduce((acc,cur) => acc+cur)/avgAge.length
}
valueOutput(names);
> 36.6
// indexOf를 사용한 경우
function findThehash(ele){
let hashOnly = ele.filter(function(x) {
if( x.indexOf('#') !== -1 ){
return x;
}
});
return hashOnly.map(x => x.indexOf('#',0));
}
//includes를 사용한 경우
function findThehash(ele){
let hashOnly = ele.filter(x => x.includes('#'));
return hashOnly.map(x => x.indexOf('#',0));
}