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