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 = (data, chunkSize) =>
Array.from(
{ length: Math.ceil(data.length / chunkSize) },
(n, i) => data.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 funcinBetween(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 там никакой не внешний / родительский / фильтрованный, а свой собственный.