const items = Array.from(
document.getElementsByClassName('cartitem'),
({textContent}) => ({name: textContent})
);
const itemsJSON = JSON.stringify(items);
var arr = [12, '+', 13, '/', 5, '-', 6];
var result = 0;
var op = '';
for(var i = 0; i < arr.length; i++) {
switch(typeof arr[i]) {
case 'string':
op = arr[i];
break;
case 'number':
switch(op) {
case '+':
result += arr[i];
break;
case '-':
result -= arr[i];
break;
case '*':
result *= arr[i];
break;
case '/':
result /= arr[i];
break;
default:
result = arr[i];
break;
}
break;
}
}
console.log(result);
function Calc() {
let v = 0;
const proto = {
add(x) { v += x; },
subtract(x) { v -= x; },
divide(x) { x && (v /= x); },
multiply(x) { v *= x; }
};
const keys = Object.keys(proto);
const ctx = keys.reduce((acc, key) => {
const wrap = x => ((!isNaN(x) && proto[key](Number(x))), wrap);
return ((acc[key] = wrap), acc);
}, {
getResult: () => v,
reset: () => ((v = 0), ctx)
});
keys.forEach(key => Object.assign(ctx[key], ctx));
return ctx;
}
// через блок
mod some_module {
// тут изолированное пространство имен
pub fn hello() {
println!("Hello world");
}
}
fn main() {
some_module::hello(); // Hello world
}
// подключаем модуль из файла ./some_other_module/mod.rs или ./some_other_module.rs
mod some_other_module;
// добавлю пару констант, для простоты модификации
let rows = 2;
let cols = 2;
let matrix_a = vec![1,2,3,4];
let matrix_b = vec![5,6,7,8];
let mut matrix_c = vec![0; rows * cols]; // 0 - default, rows * cols - размер (4)
for row in 0..rows {
for col in 0..cols {
let mut vec_buf = 0;
for k in 0..2 {
vec_buf = vec_buf + matrix_a[row * 2 + k] * matrix_b[k * 2 + col];
}
matrix_c[row * 2 + col] = vec_buf; // теперь должно быть все ок
// так как спокойно передаем владение существующему элементу вектора
}
}
for (i, x) in matrix_c.iter().enumerate(){
println!(" элем = {:?}, значение = {:?}", i, x);
}
function recursiveRequest(requestData) {
return fetch(
//здесь формируем запрос из requestData
).then(response => response.json()).then(result => {
if(result.isFinal) return result; // тут условие
return recursiveRequest(result.nextRequest); //вызываем следующий запрос
});
}
recursiveRequest({}).then(finalResult => {
//работаем с последним результатом
});
const fs = require('fs'); // or import fs from 'fs'; with esm / experimental modules
function isFileExists(path) {
return new Promise((resolve, reject) => {
fs.access(path, fs.constants.F_OK, err => {
if(!err) return resolve(true);
if(err.code === 'ENOENT') return resolve(false);
reject(err);
});
});
}
Получается, что как бы проверка бессмысленная, можно просто обернутьв случае простого unlink можно, для более сложной логики лучше сначала проверить
var items = Object.values(msg).reduce((acc, curr) => {
curr.category.forEach(item => Object.assign(acc, {[item.id]: item.cat_name}));
return acc;
}, {});
const items = Object.values(msg).reduce(
(acc, curr) => Object.assign({}, acc, curr.category.reduce(
(acc, item) => Object.assign({}, acc, {[item.id]: item.cat_name}),
{})),
{});