arr.sort((a, b) => {
return Number.isNaN(+a) || Number.isNaN(+b)
? a.localeCompare(b)
: a - b;
});
// или
arr.sort((a, b) => (a - b) || a.localeCompare(b));
const sorted = (arr, keys) => arr
.map(n => [ n ].concat(keys(n)))
.sort((a, b) => {
let diff = 0;
a.find((n, i) => diff = i && ((n < b[i]) ? -1 : +(n > b[i])));
return diff;
})
.map(n => n[0]);
const sortedArr = sorted(arr, n => [ +n, n.toLowerCase() ]);
Array
одно число, будет создан (будет попытка создания - отрицательные и нецелые числа приведут к ошибке) массив указанной длины. Метод push
может принимать несколько значений, а возвращает - новую длину массива, после добавления элементов. Т.е., в массив из трёх элементов добавили ещё четыре, и получили длину. test ts = new test();
ts.Test();
this->index
- это вообще хорошая практика - сразу видно, где используется локальная переменная, а где идёт работа с состоянием объекта.using mnoj<T>::index;
и using mnoj<T>::mas
внутри описания класса mnoj1. чем это может быть вызвано?
useEffect(() => setIsLoadError(false), [ src ]);
<Image key={card ? card.link : 'hello, world!!'}
Восстановление жестких дисков. Куда обращаться в Мск?
Полистал хабр с грустными историями когда плохие мастера все портят - не хочу так
какая вилка цен вообще на восстановление данных?
private static Image PanelToBitmap(Control pnl) {
var bmp = new Bitmap(pnl.Width, pnl.Height);
pnl.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height));
return bmp;
}
const counter = {};
// пройти по массиву, заполняя counter
arr.forEach((el) => counter[el] = (counter[el] || 0) + 1);
{
555: 1,
30167380: 2,
496903611692199: 1,
245970100361652: 2,
711023259278888: 2
}
mainArr.reduce((acc, cur) => {
if (!acc[cur]) acc[cur] = 0;
acc[cur]++;
return acc;
}, {})
function fb3cont() { b3Cont.classList.remove("__active"); } document.onclick = function() { if (b3Cont.classList.contains("__active")) { fb3cont()}; }
public override Base CreateCopy()
public override Derivative CreateCopy()
using System;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
var objectBase = new Base("Base");
var objectDerivative = new Derivative("Derivative", '7');
var copyBase = objectBase.CreateCopy();
var copyDerivative = objectDerivative.CreateCopy();
Console.WriteLine(copyBase);
Console.WriteLine(copyDerivative);
}
}
public class Base
{
private readonly string _text;
public string Text
{
get { return _text; }
}
public Base(string text)
{
_text = text;
}
public virtual Base CreateCopy()
{
return new Base(Text);
}
public override string ToString()
{
return $"{nameof(Text)}: {Text}";
}
}
public class Derivative : Base
{
private readonly char _symbol;
public char Symbol
{
get { return _symbol; }
}
public Derivative(string text, char symbol)
: base(text)
{
_symbol = symbol;
}
public override Base CreateCopy()
{
return new Derivative(Text, Symbol);
}
public override string ToString()
{
return $"{nameof(Text)}: {Text}, {nameof(Symbol)}: {Symbol}";
}
}
}
const containerSelector = '.select';
const controlSelector = '.input-range';
const controlledSelector = '.slider';
const key = 'left';
const getVal = el => (((el.value / 50) + 1) * 25) + '%';
$(document).on('input', controlSelector, function() {
$(this)
.closest(containerSelector)
.find(controlledSelector)
.css(key, getVal(this));
});
// или
document.addEventListener('input', ({ target: t }) => {
t.matches(controlSelector) && t
.closest(containerSelector)
.querySelector(controlledSelector)
.style
.setProperty(key, getVal(t));
});
string filter = "";
if (filterCountryPanel.SelectedIndex != 0)
filter = string.Format("country = '{0}'", filterCountryPanel.SelectedItem.ToString());
if (filterGenrePanel.SelectedIndex != 0)
filter += (filter == "" ? "" : " and ") + string.Format("genre = '{0}'", filterGenrePanel.SelectedItem.ToString());
(listRadioStation.DataSource as DataTable).DefaultView.RowFilter = filter == ""?null:filter;