Напишите программу на JavaScript для создания часов.
Ожидаемый выход консоли:
"14:37:42"
"14:37:43"
"14:37:44"
"14:37:45"
"14:37:46"
"14:37:47"
Решение
function my_Clock()
{
this.cur_date = new Date();
this.hours = this.cur_date.getHours();
this.minutes = this.cur_date.getMinutes();
this.seconds = this.cur_date.getSeconds();
}
my_Clock.prototype.run = function ()
{
setInterval(this.update.bind(this), 1000);
};
my_Clock.prototype.update = function ()
{
this.updateTime(1);
console.log(this.hours + ":" + this.minutes + ":" + this.seconds);
};
my_Clock.prototype.updateTime = function (secs)
{
this.seconds+= secs;
if (this.seconds >= 60)
{
this.minutes++;
this.seconds= 0;
}
if (this.minutes >= 60)
{
this.hours++;
this.minutes=0;
}
if (this.hours >= 24)
{
this.hours = 0;
}
};
var clock = new my_Clock();
clock.run ();
Ожидаемый выход консоли:
"14:37:42"
"14:37:43"
"14:37:44"
"14:37:45"
"14:37:46"
"14:37:47"
Решение
{
this.cur_date = new Date();
this.hours = this.cur_date.getHours();
this.minutes = this.cur_date.getMinutes();
this.seconds = this.cur_date.getSeconds();
}
{
setInterval(this.update.bind(this), 1000);
};
my_Clock.prototype.update = function ()
{
this.updateTime(1);
console.log(this.hours + ":" + this.minutes + ":" + this.seconds);
};
my_Clock.prototype.updateTime = function (secs)
{
this.seconds+= secs;
if (this.seconds >= 60)
{
this.minutes++;
this.seconds= 0;
}
if (this.minutes >= 60)
{
this.hours++;
this.minutes=0;
}
if (this.hours >= 24)
{
this.hours = 0;
}
};
var clock = new my_Clock();
Хай! Напишите программу сортировки слиянием на JavaScript.
Образец массива : [34,7,23,32,5,62]
Пример вывода : [5, 7, 23, 32, 34, 62]
Решение:
Array.prototype.merge_Sort = function () {
if (this.length <= 1)
{
return this;
}
var half = parseInt(this.length / 2);
var left = this.slice(0, half).merge_Sort();
var right = this.slice(half, this.length).merge_Sort();
var merge = function (left, right)
{
var arry = [];
while (left.length > 0 && right.length > 0)
{
arry.push((left[0] <= right[0]) ? left.shift() : right.shift());
}
return arry.concat(left).concat(right);
};
return merge(left, right);
};
var a = [34,7,23,32,5,62];
console.log(a.merge_Sort());
Образец массива : [34,7,23,32,5,62]
Пример вывода : [5, 7, 23, 32, 34, 62]
Решение:
if (this.length <= 1)
{
return this;
}
var half = parseInt(this.length / 2);
var left = this.slice(0, half).merge_Sort();
var right = this.slice(half, this.length).merge_Sort();
var merge = function (left, right)
{
var arry = [];
while (left.length > 0 && right.length > 0)
{
arry.push((left[0] <= right[0]) ? left.shift() : right.shift());
}
return arry.concat(left).concat(right);
};
return merge(left, right);
};
var a = [34,7,23,32,5,62];
console.log(a.merge_Sort());
Хай! Сегодня задачка по сложнее)
Напишите функцию JavaScript, которая говорит, является ли число идеальным.
Согласно Википедии: в теории чисел совершенное число - это положительное целое число, равное сумме его собственных положительных делителей, то есть сумме его положительных делителей, исключая само число (также известное как его аликвотная сумма). Эквивалентно, идеальное число - это число, которое составляет половину суммы всех его положительных делителей (включая себя).
Пример : первое совершенное число равно 6, потому что 1, 2 и 3 являются его собственными положительными делителями, а 1 + 2 + 3 = 6. Эквивалентно, число 6 равно половине суммы всех его положительных делителей: (1 + 2 + 3 + 6) / 2 = 6. Следующее совершенное число - 28 = 1 + 2 + 4 + 7 + 14. За ним следуют совершенные числа 496 и 8128.
Решение:
function is_perfect(number)
{
let temp = 0;
for(let i=1;i<=number/2;i++)
{
if(number%i === 0)
{
temp += i;
}
}
if(temp === number && temp !== 0)
{
console.log("It is a perfect number.");
}
else
{
console.log("It is not a perfect number.");
}
}
is_perfect(28);
Напишите функцию JavaScript, которая говорит, является ли число идеальным.
Согласно Википедии: в теории чисел совершенное число - это положительное целое число, равное сумме его собственных положительных делителей, то есть сумме его положительных делителей, исключая само число (также известное как его аликвотная сумма). Эквивалентно, идеальное число - это число, которое составляет половину суммы всех его положительных делителей (включая себя).
Пример : первое совершенное число равно 6, потому что 1, 2 и 3 являются его собственными положительными делителями, а 1 + 2 + 3 = 6. Эквивалентно, число 6 равно половине суммы всех его положительных делителей: (1 + 2 + 3 + 6) / 2 = 6. Следующее совершенное число - 28 = 1 + 2 + 4 + 7 + 14. За ним следуют совершенные числа 496 и 8128.
Решение:
{
let temp = 0;
for(let i=1;i<=number/2;i++)
{
if(number%i === 0)
{
temp += i;
}
}
if(temp === number && temp !== 0)
{
console.log("It is a perfect number.");
}
else
{
console.log("It is not a perfect number.");
}
}
is_perfect(28);
Привет!
Напиши функцию bind, которая позволяет привязать контекст (значение this) к функции:
Ответ:
window.x = 1;
var ctx = { x: 2 };
function testThis(a) { console.log("x=" + this.x + ", a=" + a); }
console.log(testThis(100)); // x=1, a=100
var boundFunction = bind(testThis, ctx);
console.log(boundFunction(100)); // x=2, a= 100
Напиши функцию bind, которая позволяет привязать контекст (значение this) к функции:
Ответ:
var ctx = { x: 2 };
function testThis(a) { console.log("x=" + this.x + ", a=" + a); }
console.log(testThis(100)); // x=1, a=100
var boundFunction = bind(testThis, ctx);
console.log(boundFunction(100)); // x=2, a= 100
Хай! Давай решим задачу:
Напишите функцию JavaScript, чтобы найти разницу между двумя массивами.
Тестовые данные :
console.log (разница ([1, 2, 3], [100, 2, 1, 10]));
["3", "10", "100"]
console.log (разница ([1, 2, 3, 4, 5], [1, [2], [3, [[4]]], [5,6]]));
[ "6"]
console.log (разница ([1, 2, 3], [100, 2, 1, 10]));
["3", "10", "100"]
Решение:
function differenceOf2Arrays (array1, array2) {
var temp = [];
array1 = array1.toString().split(',').map(Number);
array2 = array2.toString().split(',').map(Number);
for (var i in array1) {
if(array2.indexOf(array1[i]) === -1) temp.push(array1[i]);
}
for(i in array2) {
if(array1.indexOf(array2[i]) === -1) temp.push(array2[i]);
}
return temp.sort((a,b) => a-b);
}
console.log(differenceOf2Arrays([1, 2, 3], [100, 2, 1, 10]));
console.log(differenceOf2Arrays([1, 2, 3, 4, 5], [1, [2], [3, [[4]]],[5,6]]));
Пример вывода:
[3,10,100]
[6]
Напишите функцию JavaScript, чтобы найти разницу между двумя массивами.
Тестовые данные :
console.log (разница ([1, 2, 3], [100, 2, 1, 10]));
["3", "10", "100"]
console.log (разница ([1, 2, 3, 4, 5], [1, [2], [3, [[4]]], [5,6]]));
[ "6"]
console.log (разница ([1, 2, 3], [100, 2, 1, 10]));
["3", "10", "100"]
Решение:
var temp = [];
array1 = array1.toString().split(',').map(Number);
array2 = array2.toString().split(',').map(Number);
for (var i in array1) {
if(array2.indexOf(array1[i]) === -1) temp.push(array1[i]);
}
for(i in array2) {
if(array1.indexOf(array2[i]) === -1) temp.push(array2[i]);
}
return temp.sort((a,b) => a-b);
}
console.log(differenceOf2Arrays([1, 2, 3], [100, 2, 1, 10]));
console.log(differenceOf2Arrays([1, 2, 3, 4, 5], [1, [2], [3, [[4]]],[5,6]]));
[6]
Ёмоё, ты такое не пропустишь. Обязательно прочти! Мы DevHouse – учим разработке. 1 сентября мы начинаем новую группу на направление Frontend разработчик.
Почему ты должен пойти к нам?
- Мы не только учим, но и пишем код. Знаем, что актуально;
- Строго JS+фреймворк – не отвлекаемся на ненужный стек;
- Первое!!!!1!1 место Карл, первое!! На tutortop среди курсов по фронту;
- Каждое ДЗ ревьюит препод. Никаких автотестов, все по взрослому.
- Рассрочка без % и банка!!!!!
- Лучшие – на стажировку. Гении – на оплачиваемую стажировку!
- Закрытый чат с куратором, преподавателем и коллегами – ауфф вай какие хорошие люди.
Что смотришь, кликай по ссылке, переходи на сайт, читай программу и оставляй заявку – че тянешь?
P.s. Нагло? Да! Если он не сработает - тот кто его написал получит по лбу!
Почему ты должен пойти к нам?
- Мы не только учим, но и пишем код. Знаем, что актуально;
- Строго JS+фреймворк – не отвлекаемся на ненужный стек;
- Первое!!!!1!1 место Карл, первое!! На tutortop среди курсов по фронту;
- Каждое ДЗ ревьюит препод. Никаких автотестов, все по взрослому.
- Рассрочка без % и банка!!!!!
- Лучшие – на стажировку. Гении – на оплачиваемую стажировку!
- Закрытый чат с куратором, преподавателем и коллегами – ауфф вай какие хорошие люди.
Что смотришь, кликай по ссылке, переходи на сайт, читай программу и оставляй заявку – че тянешь?
P.s. Нагло? Да! Если он не сработает - тот кто его написал получит по лбу!
Йоу йоу, друга! Вот тебе задачка!
Сегодня ваша #задача ответить на вопросы:
1. В чем разница между обычной функцией и функциональным выражением?
2. Что такое NaN? Как проверить, является ли значение NaN?
3. Что такое классы (Classes)?
4. Для чего используется метод Function.prototype.apply?
5. Для чего используется метод Function.prototype.call?
Сегодня ваша #задача ответить на вопросы:
1. В чем разница между обычной функцией и функциональным выражением?
2. Что такое NaN? Как проверить, является ли значение NaN?
3. Что такое классы (Classes)?
4. Для чего используется метод Function.prototype.apply?
5. Для чего используется метод Function.prototype.call?
Привет! Давай решим задачу!
Напишите функцию JavaScript, которая принимает список названий стран в качестве входных данных и возвращает самое длинное название страны в качестве выходных данных.
S достаточно функция: Longest_Country_Name ([ "Австралия", "Германия", "Соединенные Штаты Америки"])
Ожидаемый результат : «Соединенные Штаты Америки»
Решение:
function Longest_Country_Name(country_name)
{
return country_name.reduce(function(lname, country)
{
return lname.length > country.length ? lname : country;
},
"");
}
console.log(Longest_Country_Name(["Australia", "Germany", "United States of America"]));
Напишите функцию JavaScript, которая принимает список названий стран в качестве входных данных и возвращает самое длинное название страны в качестве выходных данных.
S достаточно функция: Longest_Country_Name ([ "Австралия", "Германия", "Соединенные Штаты Америки"])
Ожидаемый результат : «Соединенные Штаты Америки»
Решение:
{
return country_name.reduce(function(lname, country)
{
return lname.length > country.length ? lname : country;
},
"");
}
console.log(Longest_Country_Name(["Australia", "Germany", "United States of America"]));
Хай! Сверстаем сайт ресторана!
Формат: #figma
Ссылка: https://www.figma.com/file/9L1cYfpMAlYrc0evyBev0E/TasteEat?node-id=0%3A1
Формат: #figma
Ссылка: https://www.figma.com/file/9L1cYfpMAlYrc0evyBev0E/TasteEat?node-id=0%3A1
Хай! Решим задачку
Напишите функцию JavaScript для вычисления градусов между 2 точками с обратной осью Y.
Тестовые данные:
console.log (pointDirection (1, 0, 12, 0));
0
console.log (pointDirection (1, 0, 1, 10));
90
Решение:
function pointDirection(x1, y1, x2, y2) {
return Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI;
}
console.log(pointDirection(1, 0, 12, 0));
console.log(pointDirection(1, 0, 1, 10));
Напишите функцию JavaScript для вычисления градусов между 2 точками с обратной осью Y.
Тестовые данные:
console.log (pointDirection (1, 0, 12, 0));
0
console.log (pointDirection (1, 0, 1, 10));
90
Решение:
return Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI;
}
console.log(pointDirection(1, 0, 12, 0));
console.log(pointDirection(1, 0, 1, 10));
Привет! На сегодня твоя задача:
Напишите программу на JavaScript для бинарного поиска.
Пример массива : [0,1,2,3,4,5,6]
console.log (l.br_search (5)) вернет '5'
Решение:
Array.prototype.br_search = function (target)
{
let half = parseInt(this.length / 2);
if (target === this[half])
{
return half;
}
if (target > this[half])
{
return half + this.slice(half,this.length).br_search(target);
}
else
{
return this.slice(0, half).br_search(target);
}
};
l= [0,1,2,3,4,5,6];
console.log(l.br_search(5));
Напишите программу на JavaScript для бинарного поиска.
Пример массива : [0,1,2,3,4,5,6]
console.log (l.br_search (5)) вернет '5'
Решение:
{
let half = parseInt(this.length / 2);
if (target === this[half])
{
return half;
}
if (target > this[half])
{
return half + this.slice(half,this.length).br_search(target);
}
else
{
return this.slice(0, half).br_search(target);
}
};
l= [0,1,2,3,4,5,6];
console.log(l.br_search(5));
Хай! Сегодня задача)
Напишите функцию, которая будет проходить через массив целых чисел и выводить индекс каждого элемента с задержкой в 3 секунды.
Решение
const arr = [10, 12, 15, 21];
for (var i = 0; i < arr.length; i++) {
// pass in the variable i so that each function
// has access to the correct index
setTimeout(function(i_local) {
return function() {
console.log('The index of this number is: ' + i_local);
}
}(i), 3000);
}
}
Напишите функцию, которая будет проходить через массив целых чисел и выводить индекс каждого элемента с задержкой в 3 секунды.
Решение
for (var i = 0; i < arr.length; i++) {
// pass in the variable i so that each function
// has access to the correct index
setTimeout(function(i_local) {
return function() {
console.log('The index of this number is: ' + i_local);
}
}(i), 3000);
}
}
Привет! Пора решить задачу:
Напишите функцию JavaScript для преобразования метки времени Unix во время.
Решение:
function Unix_timestamp(t)
{
var dt = new Date(t*1000);
var hr = dt.getHours();
var m ="0" + dt.getMinutes();
var s ="0" + dt.getSeconds();
return hr+ ':' + m.substr(-2) + ':' + s.substr(-2);
}
console.log(Unix_timestamp(1412743274));
P.S. Наш канал с макетами -https://yangx.top/figma_makets
Напишите функцию JavaScript для преобразования метки времени Unix во время.
Решение:
{
var dt = new Date(t*1000);
var hr = dt.getHours();
var m ="0" + dt.getMinutes();
var s ="0" + dt.getSeconds();
return hr+ ':' + m.substr(-2) + ':' + s.substr(-2);
}
console.log(Unix_timestamp(1412743274));
Хай! Напиши программу на JavaScript для сортировки списка элементов с помощью Comb sort.
Расческа - это разновидность пузырчатой сортировки. Подобно сортировке «Шелл», сортировка «Гребень» увеличивает разрыв, используемый в сравнениях и обменах. Некоторые реализации используют сортировку вставкой, когда зазор меньше определенной величины. Основная идея состоит в том, чтобы исключить черепах или небольшие значения в конце списка, поскольку в пузырьковой сортировке они значительно замедляют сортировку. Кролики, большие значения в начале списка, не представляют проблемы в пузырьковой сортировке.
В пузырьковой сортировке, когда сравниваются любые два элемента, они всегда имеют разрыв 1. Основная идея гребенчатой сортировки состоит в том, что разрыв может быть намного больше 1.
Решение:
function combsort(arr)
{
function is_array_sorted(arr) {
var sorted = true;
for (var i = 0; i < arr.length - 1; i++) {
if (arr[i] > arr[i + 1]) {
sorted = false;
break;
}
}
return sorted;
}
var iteration_count = 0;
var gap = arr.length - 2;
var decrease_factor = 1.25;
// Repeat iterations Until array is not sorted
while (!is_array_sorted(arr))
{
// If not first gap Calculate gap
if (iteration_count > 0)
gap = (gap == 1) ? gap : Math.floor(gap / decrease_factor);
// Set front and back elements and increment to a gap
var front = 0;
var back = gap;
while (back <= arr.length - 1)
{
// Swap the elements if they are not ordered
if (arr[front] > arr[back])
{
var temp = arr[front];
arr[front] = arr[back];
arr[back] = temp;
}
// Increment and re-run swapping
front += 1;
back += 1;
}
iteration_count += 1;
}
return arr;
}
var arra = [3, 0, 2, 5, -1, 4, 1];
console.log("Original Array Elements");
console.log(arra);
console.log("Sorted Array Elements");
console.log(combsort(arra));
Вывод:
Оригинальные элементы массива
[3,0,2,5, -1,4,1]
Сортированные элементы массива
[-1,0,1,2,3,4,5]
P.S. Наш канал с макетами -https://yangx.top/figma_makets
Расческа - это разновидность пузырчатой сортировки. Подобно сортировке «Шелл», сортировка «Гребень» увеличивает разрыв, используемый в сравнениях и обменах. Некоторые реализации используют сортировку вставкой, когда зазор меньше определенной величины. Основная идея состоит в том, чтобы исключить черепах или небольшие значения в конце списка, поскольку в пузырьковой сортировке они значительно замедляют сортировку. Кролики, большие значения в начале списка, не представляют проблемы в пузырьковой сортировке.
В пузырьковой сортировке, когда сравниваются любые два элемента, они всегда имеют разрыв 1. Основная идея гребенчатой сортировки состоит в том, что разрыв может быть намного больше 1.
Решение:
{
function is_array_sorted(arr) {
var sorted = true;
for (var i = 0; i < arr.length - 1; i++) {
if (arr[i] > arr[i + 1]) {
sorted = false;
break;
}
}
return sorted;
}
var iteration_count = 0;
var gap = arr.length - 2;
var decrease_factor = 1.25;
// Repeat iterations Until array is not sorted
while (!is_array_sorted(arr))
{
// If not first gap Calculate gap
if (iteration_count > 0)
gap = (gap == 1) ? gap : Math.floor(gap / decrease_factor);
// Set front and back elements and increment to a gap
var front = 0;
var back = gap;
while (back <= arr.length - 1)
{
// Swap the elements if they are not ordered
if (arr[front] > arr[back])
{
var temp = arr[front];
arr[front] = arr[back];
arr[back] = temp;
}
// Increment and re-run swapping
front += 1;
back += 1;
}
iteration_count += 1;
}
return arr;
}
var arra = [3, 0, 2, 5, -1, 4, 1];
console.log("Original Array Elements");
console.log(arra);
console.log("Sorted Array Elements");
console.log(combsort(arra));
[3,0,2,5, -1,4,1]
Сортированные элементы массива
[-1,0,1,2,3,4,5]
Привет! Сегодня задача:
Известен рост трёх человек:
А - 159
B - 130
С - 214
Определить, одинаков ли их рост.
Решение:
var a=parseInt(prompt("Введите рост первого человека",""))
var b=parseInt(prompt("Введите рост второго человека",""))
var c=parseInt(prompt("Введите рост третьего человека",""))
if ((a=b) && (b==c) && (a==c))
alert("Рост этих людей одинаков")
else {alert("Рост этих людей различен")}
Известен рост трёх человек:
А - 159
B - 130
С - 214
Определить, одинаков ли их рост.
Решение:
var b=parseInt(prompt("Введите рост второго человека",""))
var c=parseInt(prompt("Введите рост третьего человека",""))
if ((a=b) && (b==c) && (a==c))
alert("Рост этих людей одинаков")
else {alert("Рост этих людей различен")}
Хай! Решим задачу)
Напишите программу на JavaScript для сортировки списка элементов с использованием Bogosort
В информатике bogosort - это особенно неэффективный алгоритм сортировки, основанный на парадигме генерации и тестирования. Алгоритм последовательно генерирует перестановки своего ввода, пока не найдет отсортированный. Это не полезно для сортировки, но может использоваться в образовательных целях, чтобы противопоставить его другим более реалистичным алгоритмам.
Решение:
function Bogosort(arr){
var isSorted = function(arr){
for(var i = 1; i < arr.length; i++){
if (arr[i-1] > arr[i]) {
return false;
}
}
return true;
};
function shuffle(arr){
var count = arr.length, temp, index;
while(count > 0){
index = Math.floor(Math.random() * count);
count--;
temp = arr[count];
arr[count] = arr[index];
arr[index] = temp;
}
return arr;
}
function sort(arr){
var sorted = false;
while(!sorted){
arr = shuffle(arr);
sorted = isSorted(arr);
}
return arr;
}
return sort(arr);
}
var arra = [3, 0, 2, 5, -1, 4, 1];
console.log("Original Array Elements");
console.log(arra);
console.log("Sorted Array Elements");
console.log(Bogosort(arra));
Пример Вывода:
Оригинальные элементы массива
[3,0,2,5, -1,4,1]
Сортированные элементы массива
[-1,0,1,2,3,4,5]
Напишите программу на JavaScript для сортировки списка элементов с использованием Bogosort
В информатике bogosort - это особенно неэффективный алгоритм сортировки, основанный на парадигме генерации и тестирования. Алгоритм последовательно генерирует перестановки своего ввода, пока не найдет отсортированный. Это не полезно для сортировки, но может использоваться в образовательных целях, чтобы противопоставить его другим более реалистичным алгоритмам.
Решение:
var isSorted = function(arr){
for(var i = 1; i < arr.length; i++){
if (arr[i-1] > arr[i]) {
return false;
}
}
return true;
};
function shuffle(arr){
var count = arr.length, temp, index;
while(count > 0){
index = Math.floor(Math.random() * count);
count--;
temp = arr[count];
arr[count] = arr[index];
arr[index] = temp;
}
return arr;
}
function sort(arr){
var sorted = false;
while(!sorted){
arr = shuffle(arr);
sorted = isSorted(arr);
}
return arr;
}
return sort(arr);
}
var arra = [3, 0, 2, 5, -1, 4, 1];
console.log("Original Array Elements");
console.log(arra);
console.log("Sorted Array Elements");
console.log(Bogosort(arra));
[3,0,2,5, -1,4,1]
Сортированные элементы массива
[-1,0,1,2,3,4,5]
Напишите программу на JavaScript, чтобы вычислить сумму массива целых чисел.
Пример: var array = [1, 2, 3, 4, 5, 6]
Ожидаемый результат: 21
Решение:
var array_sum = function(my_array) {
if (my_array.length === 1) {
return my_array[0];
}
else {
return my_array.pop() + array_sum(my_array);
}
};
console.log(array_sum([1,2,3,4,5,6]));
Пример: var array = [1, 2, 3, 4, 5, 6]
Ожидаемый результат: 21
Решение:
if (my_array.length === 1) {
return my_array[0];
}
else {
return my_array.pop() + array_sum(my_array);
}
};
console.log(array_sum([1,2,3,4,5,6]));
Уже через полчаса мы будем проводить вебинар с Марком Джовиевым!!! Не пропусти!
Заходи в 18:00 по ссылке:
https://www.youtube.com/watch?v=4JinFYOwbrA
Заходи в 18:00 по ссылке:
https://www.youtube.com/watch?v=4JinFYOwbrA
YouTube
За жизнь, за код, за ждунов и джунов | Интервью с Марком Джовиевым
Хай! Напишите функцию JavaScript, которая возвращает переданную строку с буквами в алфавитном порядке.
Пример строки: 'alphabetical'. Ожидаемый результат: 'aaabcehillpt'
function alphabet_order(str) {
// Ваш код
}
document.writeln(alphabet_order("alphabetical"));
Решение:
<script>
function alphabet_order(str) {
return str.split('').sort().join('');
}
document.writeln(alphabet_order("alphabetical")); // "aaabcehillpt"
</script>
Пример строки: 'alphabetical'. Ожидаемый результат: 'aaabcehillpt'
function alphabet_order(str) {
// Ваш код
}
document.writeln(alphabet_order("alphabetical"));
Решение:
function alphabet_order(str) {
return str.split('').sort().join('');
}
document.writeln(alphabet_order("alphabetical")); // "aaabcehillpt"
</script>