reduce()
– то можно редьюсить массив аргументов до одного результирующего объекта: const mergeObjects = (...args) => args.reduce((acc, c) => Object.assign(acc, c));
mergeObjects({a: 'A'}, {b: 'B'}, {c: 'C', a: 'AAA'})
// { a: "AAA", b: "B", c: "C" }
const mergeObjects = (...args) => args.reduce((acc, c) => ({...acc, ...c}), {});
indexPatients
.id
– значения объекты: {
"1": { id: 1, name: "Максим" },
"2": { id: 2, name: "Николай" },
// и так далее
}
id
вытащить соотв. объект.id
в нужном порядке.map()
каждый id
на соотв. ему полный объект.$keys = ['sku', 'brand', 'City1', 'City2'];
$setKeys = function ($values) use ($keys) {
return array_combine($keys, $values);
};
$data = [ [1,2,3,4], [11,22,33,44], ];
$result = array_map($setKeys, $data);
Array
(
[0] => Array
(
[sku] => 1
[brand] => 2
[City1] => 3
[City2] => 4
)
[1] => Array
(
[sku] => 11
[brand] => 22
[City1] => 33
[City2] => 44
)
)
const hasDuplicates = arr => {
for (let L = 0; L < arr.length - 1; L++) {
for (let R = L + 1; R < arr.length; R++) {
if (arr[L] === arr[R]) return true;
}
}
return false;
};
const hasDuplicates = arr => arr.length !== (new Set(arr)).size;
document.querySelectorAll()
дубликатов точно не нахватает. Вся затея с дублями имеет смысл, только когда вызывают это дело несколько раз. test.forEach(item => item.tsNoTZ = new Date(item.dateAndTime.substring(0, 24)));
test.sort((a, b) => b.tsNoTZ - a.tsNoTZ);
И лучше только однажды пройти по массиву и добавить каждому объекту новое поле, по которому потом сортировать. disp.innerHTML = arr.length;
let n = 0;
for (const c of 'Moloko') {
if (c === 'o') n++;
}
n // 3
String
упоминается в английской, но не в русской версии описания for .. of
removeEventListener()
document.body.addEventListener("click", clickHand("WOW!"));
function clickHand(str) {
const handler = ({ target }) => {
console.log(target);
console.log(str);
document.body.removeEventListener("click", handler);
};
return handler;
}
[1, 2, 3, .. 10]
Math.min()
возвращает минимальное значение среди переданных ему. Math.min()
положить несколько значений, из которых он выберет одно, минимальное.Math.min()
надо передать все значения из очередной строки.Math.min()
принимает варианты через запятую: Math.min(1, 3, 5)
, но у нас каждая строка это массив вроде [1, 3, 5]
Массив удобно «распаковать» с помощью трёх точек ...
(так называемый оператор расширения). Есть очередная строка в массиве arr
– передать её в Math.min(...arr)
– вернёт минимальное значение.for()
перебирает у вас как раз строки двумерного массива. То, что надо.for()
как у вас. Это длиннее, но тоже работает, особенно на больших объёмах данных. В таком варианте надо бы убрать Math.min()
в конце.s
не в 0
, а в константу Number.POSITIVE_INFINITY
– больше её точно ничего не будет, все значения окажутся меньше. А дальше сравнивать текущее значение s
с очередным числом из строки. И если очередное оказалось меньше — переназначать s
это значение, очередной найденный минимум.document.write(
mass.map(row => Math.min(...row)).join(', ')
); // 2, 4, 7
red.style.backgroundColor
– берётся элемент red
,const el = document.createElement('div');
div.style.backgroundColor = "red";
div.style.backgroundColor // "red"
div.classList.add("green-text"); // CSS .green-text { color: green; }
div.style.color // ""
<p style="font-weight: bold">Bold</p>
document.querySelector('p').style.fontWeight // "bold"
<p style="font-weight: bold">
<span>Bold</span>
</p>
document.querySelector('span').style.fontWeight // ""