Все числа в массиве циклов for должны отображаться

Мне нужна помощь, чтобы убедиться, что все числа в моем массиве отображаются, потому что отображаются только первые 2.

function tizer(n) {
  var firstArray = (""+n).split('');
  var newArray = [];
  for (var i = 0; i < firstArray.length; i++) {
    newArray[i] = parseInt(firstArray.shift(),10);
  }
  return newArray;
}

console.info(tizer(8675));

Результат: [8,6]

Ожидается: [8,6,7,5]

Не могли бы вы добавить несколько тестовых случаев? В частности, то, что вы использовали в качестве входных данных для получения этого результата.

user10957435 16.02.2019 17:17

как мне это сделать. я здесь новичок.

oh babie 17.02.2019 21:46

Просто отредактируйте свой пост и скажите: «Это мой вклад, это мой вывод, и это то, что я ожидал.

user10957435 17.02.2019 23:04
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
41
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Это намного проще, чем вы думали. Вы должны были использовать firstArray[i] вместо firstArray.shift().

function tizer(n) {
  var firstArray = (""+n).split('');
  var newArray = [];
  for (var i = 0; i < firstArray.length; i++) {
    newArray[i] = parseInt(firstArray[i],10);
  }
  
  // Sort odd first
  var arraySorted = [...newArray.filter(item => item%2 == 1), ...newArray.filter(item => item%2 == 0)]
  
  return arraySorted;
}

console.info(tizer(8675));

Пожалуйста. Не стесняйтесь голосовать за мой ответ. Спасибо.

vmf91 16.02.2019 16:42

Если вы можете меня с этим, что будет здорово. Я новичок в javascript.JavaScript Напишите функцию mySort, которая принимает массив целых чисел и должна возвращать массив введенных целых чисел, отсортированных таким образом, чтобы нечетные числа были первыми, а четные - последними. Например: mySort([90, 45, 66, 'пока', 100.5]) должен возвращать [45, 66, 90, 100]

oh babie 16.02.2019 17:07

О, я вижу. Я вне дома. Когда я вернусь, я могу помочь тебе с этим.

vmf91 16.02.2019 17:28

хорошо, спасибо. Скоро вышлю код, который я для него сделал.

oh babie 16.02.2019 17:29

Привет @ohbabie, я добавил одну строку кода, чтобы сначала отсортировать шансы.

vmf91 16.02.2019 23:04

Спасибо. Я смог разобраться с этим. Но мне нужно решение этой проблемы, пожалуйста. Буду признателен.stackoverflow.com/questions/54727336/…

oh babie 16.02.2019 23:27

как мне это сделать. я здесь новичок.

oh babie 17.02.2019 21:45

Чтобы пометить ответ как принятый, нажмите на галочку рядом с ответом, чтобы переключить его с серого на заполненный.

vmf91 17.02.2019 22:47

Просто используйте .map(Number) после .split

function tizer(n) {
  return (n + '').split('').map(Number);
}

console.info(tizer(8675));

Другие вопросы по теме