Как вернуть новый массив

    Напишите функцию, которая принимает массив чисел и строк, 
    проверяет каждый элемент в массиве и, если элемент является числом, 
     приводит его к логическому значению, а если элемент представляет собой строку, то приводит его к числу. 
     Функция должна возвращать новый массив с приведенными элементами.
    
    const arr = [0, '2', 3, 4, 's'];
function castArr(arr) {
  for (let i = 0; i < arr.length; i++) {
    if (typeof arr[i] === 'number') {
      arr[i] = true || false;
    } else if (typeof arr[i] === 'string') {
      arr[i] = parseInt(arr[i]);
    }
    return arr;
  }
}
castArr(arr);

Ответы (1 шт):

Автор решения: the_Solomon
const arr = [0, '2', 3, 4, 's'];
function castArr(arr) {
    return arr.map((item) => {
        if(typeof item === 'number'){
            return Boolean(item)
        } else if(typeof item === 'string') {
            return +item
        }
     })
}


console.log(castArr(arr)) // [false, 2, true, true, NaN]
→ Ссылка