const chunkSize = 10;
.const arr = [];
let i = -1;
for (const k in obj) {
const j = (++i / chunkSize) | 0;
(arr[j] = arr[j] || {})[k] = obj[k];
}
const chunked = (arr, chunkSize) =>
Array.from(
{ length: Math.ceil(arr.length / chunkSize) },
(n, i) => arr.slice(i * chunkSize, (i + 1) * chunkSize)
);
const arr = chunked(Object.keys(obj), chunkSize).map(n => {
return n.reduce((acc, k) => (acc[k] = obj[k], acc), {});
});
function* chunked(data, chunkSize) {
const iter = data[Symbol.iterator]();
for (let chunk = [], n = {}; !n.done && (n = iter.next());) {
if ((n.done && chunk.length) || (!n.done && chunk.push(n.value) === chunkSize)) {
yield chunk;
chunk = [];
}
}
}
const arr = Array.from(chunked(Object.entries(obj), chunkSize), Object.fromEntries);
писать конвертеры такого кода на другие языки и удобно мониторить их изменение.
Как автоматически транслировать любой готовый алгоритм с любого ЯП на любой другой ЯП без ущерба для скорости работы алгоритма?
document .querySelector("#close").addEventListener("click", () =>clearTimeout(cityRemoveTime));
() => // your func
inBetween(3, 6)
возвращает не строку, не число, а функкцию. var daFunc = inBetween(3, 6); // daFunc это функция
arr.filter(daFunc);
var daFunc = function() {
console.log(arguments);
}
arr.filter(daFunc);
1«Почти» — потому, что контекст тут другой будет. Всякие a
и b
не будут определены.function daFunc() { console.log(arguments); }
arr.filter(daFunc);
arr.filter( function() { console.log(arguments); });
arguments
там никакой не внешний / родительский / фильтрованный, а свой собственный.