Как удалить дубликаты из массива? (3 способа)
1) new = […new Set(old)] или Array.from(new Set(old))
2) new = old.filter((item, i) => {
return i === old.indexOf(item)}
3) new = reduce((uniqArr, item) => {
uniqArr.includes(item) ? }, uniqArr : […uniqArr, item[])
Как получить элемент подмассива?
arr[i][j]
Как сделать URL redirect?
window. location.assign(‘http://www.example.com’);
window. location.href = ‘http://www.example.com’;
- сохраняются в истории
window. location.replace(‘http://www.example.com’);
- не сохраняется в истории
window.location.reload();
Как сделать первую букву в строке заглавной?
str[0].toUpperCase() + str.substring(1);
Как получить параметры запроса из URL адреса?
const query = window.location.search.substring(1);
const vars = query.split('&');Как проверить на null?
typeof - не подходит
value === null
Как проверить на NaN?
Number.isNaN(value)
или с фолбеком
Number.isNaN = Number.isNaN || (function(value) {
return value !== value;
})Как проверить на массив?
function isArray(value) {
return Array.isArray(value);
}Общая функция для проверки типа?
function isArray(value) {
return Object.prototype.toString.call(value) === '[object Array]';
}Проверка на undefined через оператор нулевого слияния?
let maybeSomething;
console.log(maybeSomething ?? “Nothing found”)
Как проверить свойство на undefined?
Вместо
console.log(student && student.address && student.address.ZIPCode);
console.log(student?.address?.ZIPCode);
Как использовать && вместо if?
// Длинный способ
if(isReady){
doSomething();
}
// Короткий способ isReady && doSomething();
Как использовать object вместо switch?
const num = 3
// Длинный способ
switch (num) {
case 1:
someFunction();
break;
case 2:
someOtherFunction();
break;
case 3:
yetAnotherFunction();
break;
}// Короткий способ
var cases = {
1: someFunction,
2: someOtherFunction,
3: yetAnotherFunction,
};casesnum;
Самый быстрый способ преобразовать строку в число?
num = +str
Как быстро скопировать массив?
let newArr = arr.slice();
или
let newArr = […arr]
Как объединить массивы?
[…a, …b, …]
или
a.conact(b, c, …) - исходные массивы не меняются