Как создать новые массивы четных, нечетных и больших чисел из массива и последовательно выводить их значения? — для этого необходимо использовать функцию обратного вызова

#arrays #function #loops #if-statement #callback

Вопрос:

Мой введенный массив является

 var userArray = [4, 7, 2, 8, 9, 10, 15, 5, 1, 6, 12]
 

Мой ожидаемый результат таков

 evenArray = [4,2,8,10,6,12] 
oddArray = [7,9,15,5,1]
greaterNumbArray = [7,8,9,10,15,12]
 

Наконец, все значения между 3 массивами являются- 4 2 8 10 6 12 7 9 15 5 1 7 8 9 10 15 12

Задача состоит в:

  1. Найдите четные, нечетные и числа больше 6 и создайте массив четных и нечетных чисел по-другому, последний раз создайте массив чисел больше 6.
  2. Покажите результаты 3 массивов последовательно.
  3. Последовательно показывайте значения четных, нечетных и больших чисел вместе.

Необходимо использовать функцию обратного вызова.

Вот мой код:

 function behindOperation_2(arrayValue_2){
  var allArray_2 = [
    evenArray_2 = [],
    oddArray_2 = [],
    greaterArray_2 = []
  ]
  for(var i = 0; i<arrayValue_2.length; i  ){
    if (arrayValue_2[i] % 2 === 0){
      allArray_2[0].push(arrayValue_2[i])
    }
    if(arrayValue_2[i] % 2 === 1){
      allArray_2[1].push(arrayValue_2[i])
    }
    if(arrayValue_2[i] > 6){
      allArray_2[2].push(arrayValue_2[i])
    }
  }
  for(var a = 0; a < allArray_2.length; a  ){
    for(var v = 0; v<allArray_2[a].length; v  ){
     console.log (allArray_2[a][v])
    }
  }
}

function dataFinding (getArray, behindOperation){
  var behindResult = behindOperation(getArray)
  return behindResult
}

var newResult_2 = dataFinding(userArray, behindOperation_2)
console.log(newResult_2);
 

мой вывод таков: 4 2 8 10 6 12 7 9 15 5 1 7 8 9 10 15 12

Ответ №1:

Вам необходимо правильно отформатировать вывод / печать на консоли:

Ваш текущий номер выведен правильно:

4 2 8 10 6 12 7 9 15 5 1 7 8 9 10 15 12 :

4 2 8 10 6 12 //even

7 9 15 5 1 //odd

7 8 9 10 15 12 //large

Комментарии:

1. перепишите правильный код и исправьте мою ошибку.