async function imagesProcessing() {
compressImages(
"app/images/src/**/*",
"app/images/build/",
{ compress_force: false, statistic: true, autoupdate: true }, false,
{ jpg: { engine: "mozjpeg", command: ["-quality", "75"] } },
{ png: { engine: "pngquant", command: ["--quality=75-100", "-o"] } },
{ svg: { engine: "svgo", command: "--multipass" } },
{ gif: { engine: "gifsicle", command: ["--colors", "64", "--use-col=web"] } },
function (err, completed) {
if (err !== null) {
compressImages(
"app/images/src/**/*",
"app/images/build/",
{ compress_force: false, statistic: true, autoupdate: true }, false,
{ jpg: { engine: "mozjpeg", command: false } },
{ png: { engine: "pngquant", command: false } },
{ svg: { engine: "svgo", command: false } },
{ gif: { engine: "gifsicle", command: false } },
function (err, completed) { })
}
}
)
}
function func(arr, parametres) {
for (let i = 0; i < parametres.length; i++) {
const param = parametres[i];
let condition;
if (param.type === 'type1') {
condition = true;
} else if (param.type === 'type2') {
condition = false;
} else {
// может ли быть 'type3' или что-то такое, тогда пропускаем этот шаг
continue;
}
// судя по телу второго цикла
// при каждой итерации founded переписывается
// значит в результате происходит сравнение только последней пары
// и цикл можно убрать
if (
(
arr[arr.length - 1].property1 === param.property1 &&
arr[arr.length - 1].property2 === param.property2
) === condition
) {
return false;
}
// но скорее всего это была бага, и цикл нужно переписать так
for (let j = 0; j < arr.length; j++) {
if (
(
arr[j].property1 === param.property1 &&
arr[j].property2 === param.property2
) === condition
) {
// при первом же совпадении функция будет завершена
// без бесполезных проходов по оставшимся элементам
return false;
}
}
}
return true;
};
<HTML>
<body>
<script>
function onload() {
test = document.querySelector('#text');
alert(test);
}
document.addEventListener("DOMContentLoaded", onload);
</script>
<p id="text">testing</p>
</body>
</html>