Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

226
Views
How JS forEach works with ternary and if operators?

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);
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

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!`);
    } 
  });
}
about 4 years ago · Juan Pablo Isaza Report

0

Hello you defined your function with an extra (

Solution for 3rd case:

let arr = ['Custy Stomer', 'C. Oostomar', 'C.U.S. Tomer', 3432434, 'Custo Mer', 'Custopher Ustomer', 3432435, 'Kasti Yastimeur'];

let checkArr = (arr) => {
  arr.forEach(el => typeof el !== 'string' ? console.log(`Type error: ${el} should be a string!`) : null
  )
}

checkArr(arr);

about 4 years ago · Juan Pablo Isaza Report

0

Two issues.

  • Second functiopn definition should be written inside {}
  • Thirst statement, remove unwanted semi column after null.

let arr = ['Custy Stomer', 'C. Oostomar', 'C.U.S. Tomer', 3432434, 'Custo Mer', 'Custopher Ustomer', 3432435, 'Kasti Yastimeur'];
let checkArr1 = (arr) => arr.forEach(el => console.log(typeof el !== 'string'))
let checkArr2 = (arr) => arr.forEach(el => { if (typeof el !== 'string') { console.log(`Type error: ${el} should be a string!`) } })
let checkArr3 = ((arr) => { arr.forEach(el => typeof el !== 'string' ? console.log(`Type error: ${el} should be a string!`) : null) })
checkArr1(arr);
checkArr2(arr);
checkArr3(arr);

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!