// va har bir qiymat, bu kalit bilan asl massivning barcha elementlarini o'z ichiga olgan massiv. // kod bu yerda // Misol 1 const array1 = [ { id: 1 }, { id: 1 }, { id: 2 } ]; const fn = (item) => item.id; console.log(array1.groupBy(fn)); // { // 1: [{ id: 1 }, { id: 1 }], // 2: [{ id: 2 }] // } // Misol 2 const array2 = [1, 2, 3]; console.log(array2.groupBy(String));
Frontend
// Sizga lotin harflari, bo'sh joylar va tinish belgilaridan iborat satr berilgan. // Satr har bir 26 harfni kamida bir marta o'z ichiga olgan bo'lsa, pangram deb ataladi. Satr pangram yoki yo'qligini aniqlang. const LETTERS = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']; function isPangram(text) { // kodingizni bu yerga yozing } console.log(isPangram(`A pangram or holoalphabetic sentence is a using every letter of a given alphabet at least once.`)); // => console.log(isPangram('Waltz, bad nymph, for quick jigs vex.'))
Daraxtni rekursiv tarzda o'rganishning qanday cheklovlari bor? DFS (chuqurlik bo'yicha) va BFS (kenglik bo'yicha) o'rganish qanday farq qiladi? Daraxtni rekursiyasiz qanday amalga oshirish mumkin?
This dan sonli raqamli qiymat qanday olish mumkin (Number(this) dan tashqari)?
Agar asyncCall xatolik bilan uzatilgan callbackni bir necha marta chaqirsa, Promise-ning qoplamasi nima bo'ladi: avval xato bilan, keyin ma'lumotlar bilan va yana xato bilan.
'key in result' tekshiruv bilan 'result.hasOwnProperty(key)' o'rtasidagi farq nima?
Promise.all dan tashqari Promise API ning qanday boshqa usullarini bilasiz?
/** * compose funksiyasını həyata keçirin, bu * dəyişən sayda funksiyanı qəbul edir və yeni bir funksiya qaytarır. * Hər bir funksiyanın nəticəsi növbəti funksiyaya ötürülür. */ // Burada kod const square = (x) => x * x; const times2 = (x) => x * 2; const sum = (a, b) => a + b; console.clear(); console.log(compose(square, times2)(2) === square(times2(2))); console.log(compose(square, times2, sum)(3, 4) === square(times2(sum(3, 4))));
sumPromises funktsiyasini amalga oshiring, u promisslarni argument sifatida qabul qiladi va ularning natijalarining yig'indisini qaytaradi. Funktsiya istalgan miqdordagi argumentlarni qabul qilishi mumkin, har qanday promise API'sidan foydalanish mumkin.
9. Nusxa olish Imtihonda, professor Floyd ba'zi talabalar notalarni almashayotganini payqab qoldi. Dastlab, ularni hammasiga 2 baho qo'yishni istagan, ammo professor mehribon bo'lib, talabalarni ikki guruhga bo'lishga qaror qilgan: nusxa olishga ruxsat beradiganlar va faqat birinchi guruhga 2 baho qo'yadiganlar. Professor barcha talabalar o'rtasida notalarni almashgan juftliklarni yozib olgan. Talabalarni ikki guruhga bo'lish mumkinligini aniqlash kerak, shunda har qanday notalarni almashish bir guruhdagi talaba tomonidan ikkinchi guruhdagi talaba bilan amalga oshiriladi. Kiritish formati Birinchi satrda ikkita raqam N va M joylashgan — talabalar soni va notalarni almashgan talabalar juftliklari soni (1 ≤ N ≤ 10^2, 0 ≤ M ≤ N(N-1)/2). Keyingi M satrda, talabalar juftliklari tavsifi berilgan: notalarni almashgan talabalar raqamlari (talaba raqamlash 1 dan boshlanadi, har bir juftlik bir marta ko'rsatilgan). Chiqish formati Professor Floydning vazifasiga javob yozilishi kerak. Talabalarni ikki guruhga bo'lish mumkin bo'lsa, YES yozing; aks holda, NO.
Arguments pseudo-massivini haqiqiy massivga qanday aylantirish mumkin? Bir nechta usulni nomlang.
Haqiqiy ilovada callLimit funktsiyasi va hisoblagichni tiklash imkoniyati qayerda foydali bo'lishi mumkin?
Nima uchun sleep ning bajarilish vaqti 1000 va 2000 millisekundga to'g'ri kelmaydi, biroz ko'proqmi? Qaysi omil kechikishga ta'sir qiladi?
Nima uchun Array.prototype.slice.call(arguments) ishlatiladi? call va apply qanday ishlaydi?
[ism] so'radi: Parallel rivojlanish holatida, ijrochilar shartnomalarni o'zlari aniqladilarmi?
Satrning 'pangram' ekanligini aniqlash — har bir alfavit harfini kamida bir marta o'z ichiga olgan satr.
runOnce yechimida apply usulining nima uchun kerak bo'lishi mumkin?
/** * isMonotonic funktsiyasini amalga oshiring, u * raqamlar massivini qabul qiladi va * uning monoton yoki emasligini aniqlaydi (ortib yoki kamayib ketmaydi). * * @param {Array<number>} numbers - raqamlar massivi * @return {boolean} - agar massiv monoton bo'lsa, true, aks holda false */ function isMonotonic(numbers) { // kodingiz bu yerda }
/* Тизимда тўлиқ рақамли қийматлар бўлган массивдаги барча рақамли қийматларни ҳисоблаш учун функция ёзиш керак. Мувофиқ рақамли қийматлар ҳамда бошланғич рақамлар билан бошланган сатрлар бўлиши мумкин, уларни рақамли қиймат сифатида ҳисоблаш керак. Массив ҳар қандай турдаги маълумотларни ўз ичига олиши мумкин ва тўғри бўлмаслиги мумкин. **Ички методлар, масалан, .flat, .flatMap, ишлатилмаслиги керак** */ function sum(arr) { // ... } console.log(sum([1, 'x', '2x', ['3', ['x2', '5']]]));
Hozirgi ish joyingiz va loyihangiz haqida gapirib bering