@civaru

Как вставить числа в массив по порядку?

Суть вопроса очень проста: дан массив [2,4,7,10] как вставить, например, число пять по порядку? То есть чтобы оно разместилось между 4 и 7.
  • Вопрос задан
  • 526 просмотров
Решения вопроса 1
@Aves
function insert(n, arr) {
  let i = 0;
  while (n > arr[i]) i++;
  arr.splice(i, 0, n);
  return arr;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
sayonalion
@sayonalion
let insert = n => (a, r = [ ], [h, ...t] = a) =>
    a.length == 0       ? [n]
  : n > a[a.length - 1] ? [...a, n]
  : n <= h              ? [...r, n, ...a]
  : insert(n)(t, [...r, h])

let f = insert(0)
let g = insert(5)
let h = insert(11)

let a = [ ]
let b = [2, 4, 7, 10]

f(a) //=> [<0>]

f(b) //=> [<0>, 2, 4, 7, 10]
g(b) //=> [2, 4, <5>, 7, 10]
h(b) //=> [2, 4, 7, 10, <11>]
Ответ написан
Комментировать
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
Комментировать
@Cr2ed
/* пишем функцию сортировки по возрастанию*/
functions sortAsc( a, b ) {
    return a - b;
}
const arr = [2, 4, 7, 10];
arr.push(5);
/* применяем функцию сортировки по возрастанию*/
arr.sort(sortAsc);
Ответ написан
Комментировать
Можно вот так:
[2,4,7,10].concat(5).sort((a,b)=>a-b);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы