Сборка от 17 марта 2017 г


Оставить уникальные элементы массива



Download 9,9 Mb.
bet315/349
Sana26.04.2022
Hajmi9,9 Mb.
#582433
TuriУчебник
1   ...   311   312   313   314   315   316   317   318   ...   349
Bog'liq
ilja kantor sovremennyj uchebnik-1chast PdfToWord

Оставить уникальные элементы массива




Решение перебором (медленное) Решение с объектом (быстрое)


К условию
Массив: перебирающие методы



Перепишите цикл через map




var arr = ["Есть", "жизнь", "на", "Марсе"];
var arrLength = arr.map(function(item) { return item.length;
});
alert( arrLength ); // 4,5,2,5

К условию





Массив частичных сумм


Метод arr.reduce подходит здесь идеально. Достаточно пройтись по массиву слева‑направа, накапливая текущую сумму в переменной и, кроме того, добавляя её в результирующий массив.


Неправильный вариант может выглядеть так:


function getSums(arr) { var result = [];


if (!arr.length) return result;

arr.reduce(function(sum, item) { result.push(sum);


return sum + item;
});

return result;


}

1,3,6,10
alert(getSums([1,2,3,4,5])); // результат:


Перед тем, как читать дальше, посмотрите на него внимательно. Заметили, в чём ошибка?


Если вы его запустите, то обнаружите, что результат не совсем тот. В получившемся массиве всего четыре элемента, отсутствует последняя сумма.


Это из‑за того, что последняя сумма является результатом метода reduce , он на ней заканчивает проход и далее функцию не вызывает, поэтому она оказывается не добавленной в result .


Исправим это:


function getSums(arr) { var result = [];


if (!arr.length) return result;

var totalSum


= arr.reduce(function(sum, item) { result.push(sum);
return sum + item;
});

return result;


}


alert(getSums([1,2,3,4,5])); //
alert(getSums([‐2,‐1,0,1])); //
Открыть решение с тестами в песочнице.

К условию



Download 9,9 Mb.

Do'stlaringiz bilan baham:
1   ...   311   312   313   314   315   316   317   318   ...   349




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish