let company = {
sales: [{name: 'John', salary: 1000}, {name: 'Alice', salary: 600 }],
development: {
sites: [{name: 'Peter', salary: 2000}, {name: 'Alex', salary: 1800 }],
internals: [{name: 'Jack', salary: 1300}]
}
};
function sumSalaries(department) {
if (Array.isArray(department)) {
console.log('case 1');
return department.reduce((prev, current) => prev + current.salary, 0);массива
} else {
console.log('case 2'); // Выполняется первой
let sum = 0;
for (let subdep of Object.values(department)) {
sum += sumSalaries(subdep);
}
return sum;
}
}
alert(sumSalaries(company)); // 6700 === 6700
если методом reduce мы обрабатываем только массив названия ключей, то откуда внутри метода значения этих ключей?
obj
то у вас остается и переменная никуда не делась и не изменилась, не пропала :), вот вы с ней и работаете //таким образом в app.php указываются ссылки на сгенерированные js файлы
afterBuild() {
let writeableStream = fs.createWriteStream('../views/site/app.php');
//......
fs.createReadStream('../web/index.html').pipe(writeableStream);
},
если, например мне нужно запустить 3 сайта. api.domain.loc, lk.domain.loc, domain.loc. Как сделать, чтобы в адресной строке браузера указывать эти домены и попадать на каждый проект?
Добрый день - узнал об этом через ccleaner
антивирусы почему-то это все не обнаруживают
const sorted = (arr, key) => arr
.map(n => [ key(n), n ])
.sort(([a], [b]) => a < b ? -1 : +(a > b))
.map(n => n[1]);
const sortedArr = sorted(arr, n => n[0].replace(/^\D+/, ''));
const sortedArr = sorted(arr, n => {
const d = n[0].match(/\d+/g);
return +d[0] + +d.at(-1);
});
id
в ваших объектах?нет у item'а свойства "index". Тогда уж, возвращайте переданный index:const indexArr = users.map(( item, index ) => item.index)
(item, index) => index
Впрочем, индексы выводить, скорее всего, не нужно — для чего печатать числа от 0 до N.const fullNames = users.map( fullName ).filter(( item, index, array ) => { return array.indexOf( item ) === index })
.map()
создаётся новый массив, состоящий только из полных имён. Функцию fullName()
вы не привели в вопросе, но скорее всего, она из item'а делает строку item.name + ' ' + item.lastName
['Вася', 'Оля', 'Вася']
0
- в нулевой позиции он нашёлся. Для первого Васи это ок, он останется. Зато для третьего Васи индекс будет 2
, а поиск вернёт всё тот же 0
. Так как 2 !== 0
, дубликат-Вася вылетает и не попадает в результат. V-model="filterPriceFrom"
V-model="filterPriceTo"
props:['FilterPriceFrom', 'FilterPriceTo', "FilterCategoryId"],
v-model
совместно с входными параметрами особого смысла нет. Потому чтоВсе входные параметры образуют одностороннюю привязку между дочерним свойством и родительским: когда родительское свойство обновляется — оно будет передаваться дочернему, но не наоборот.
v-model="параметр"
на:value="параметр" @input="$emit('update:параметр', $event.target.value)"