I am trying to understand about 2 hours what I am doing wrong in third and fourth line of code. The console thows out SyntaxError: Unexpected token if or SyntaxError: missing ) after argument list. The first and the second line works as expected.
let arr = ['Custy Stomer', 'C. Oostomar', 'C.U.S. Tomer', 3432434, 'Custo Mer', 'Custopher Ustomer', 3432435, 'Kasti Yastimeur'];
let checkArr = (arr) => arr.forEach(el => console.log(typeof el !== 'string'))
let checkArr = (arr) => arr.forEach(el => if (typeof el !== 'string') { console.log(`Type error: ${el} should be a string!`)} )
let checkArr = ((arr) => { arr.forEach(el => typeof el !== 'string' ? console.log(`Type error: ${el} should be a string!`) : null; )})
checkArr(arr);
Advertisement
Answer
Line 3:
Wrap the forEach callback body in brackets
let checkArr = (arr) => arr.forEach(el => {
if (typeof el !== 'string') {
console.log(`Type error: ${el} should be a string!`);
}
})
Line 4:
Remove semi-colon
let checkArr = (arr) => {
arr.forEach(el => typeof el !== 'string' ? console.log(`Type error: ${el} should be a string!`) : null )
}
Recommended:
const checkArr = (arr) => {
arr.forEach(el => {
if (typeof el !== 'string') {
console.log(`Type error: ${el} should be a string!`);
}
});
}