Прасунуты аднарадковы код на JavaScript, які можа вам спатрэбіцца
js
1. Выдаленне falsy
-значэнняў з масіва.
const truthyValues = arr.filter(Boolean);
Напрыклад:
const arr = [true, false, 0, 1, '', 'hello', null]; const truthyValues = arr.filter(Boolean); // [true, 1, 'hello']
2. Пераўтварэнне масіву радкоў ў масіў лічбаў
const strArr = ['1', '2', '3', '4', '5', '6']; const numArr = strArr.map(Number); console.log(numArr); // [1, 2, 3, 4, 5, 6]
3. Выдаленне дубляў з массіва
const uniqueValues = [...new Set(arr)];
Выкарыстоўваем new Set
, каб хутка вызначыць унікальныя значэнні, і ператвараем Set
зноў у масіў.
Напрыклад:
const arr = [1, 2, 2, 3, 4, 6, 6, 6, 7, 9]; const uniqueValues = [...new Set(arr)]; // [1, 2, 3, 4, 6, 7, 9]
4. Групоўка масіву па ўласцівасцях аб'екта
Калі вам спатрэбіцца групоўка масіву па асобным ўласцівасцям аб'ектаў, то можна зрабіць так:
const groupBy = (arr, groupFn) => arr.reduce( (groupedAcc, obj) => ({ ...groupedAcc, [groupFn(obj)]: [...(groupedAcc[groupFn(obj)] || []), obj], }), {} ); const people = [ { name: 'Matt' }, { name: 'Sam' }, { name: 'John' }, { name: 'Mac' }, ]; const groupedByNameLength = groupBy(people, (person) => person.name.length); /* { 3: [{name: 'Sam'}, {name: 'Mac'}], 4: [{name: 'Matt'}, {name: 'John'}] } */
5. Стварэнне выпадковага UUID
UUID
(universally unique identifier) - сусветна унікальны ідэнтыфікатар. UUID
- гэта 128-бітнае значэнне, якое дастаткова унікальна ўнікальна ідэнтыфікуе аб'ект або сутнасць у Інтэрнэце.
const generateRandomUUID = (a) => a ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace( /[018]/g, generateRandomUUID ); console.log(generateRandomUUID()); // f138f635-acbd-4f78-9be5-ca3198c4cf34 console.log(generateRandomUUID()); // 8935bb0d-6503-441f-bb25-7bc685b5b5bc
6. Пераўтварэнне RGB ў Hex
const rgbToHex = (r, g, b) => "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1); rgbToHex(0, 51, 255); // #0033ff
7. Стварэнне масіву даўжынёй n з дапамогай spread
-аператара і Array.from
const n = 6; const arr = [...Array.from({ length: n }, (v, index) => index)]; console.log(arr) // [ 0, 1, 2, 3, 4. 5];
8. Паслядоўна выконваемыя промісы
const urls = ['http://example.by/1', 'http://example.by/2', 'http://example.by/3', 'http://example.by/4']; const sequencedRequests = urls.reduce( (acc, url) => acc .then(results => fetch(url) .then(results => results.json()) .then(values => results.concat(values)) ), Promise.resolve([])); sequencedRequests.then(result => console.log(result));
2023-08-03
,Каментары
(Каб даслаць каментар залагуйцеся ў свой уліковы запіс)