const result = allCass.filter(function(n) {
return !this.has(n.id);
}, new Set(defaultCass.map(n => n.id)));function* diff(data1, data2, key = n => n) {
const getKey = key instanceof Function ? key : n => n[key];
const keys = new Set;
for (const n of data2) {
keys.add(getKey(n));
}
for (const n of data1) {
if (!keys.has(getKey(n))) {
yield n;
}
}
}const result = [...diff(allCass, defaultCass, 'id')];Array.from(diff('abcdE', 'AcD', n => n.toLowerCase())) // ['b', 'E']for (const n of diff(Array(8).keys(), Array(5).keys())) {
console.log(n); // 5 6 7
}
[0; 1], либо в интервале [-1; 1], в зависимости от реализации. Если найдете ту, которая возвращает числа в интервале [-1; 1], тогда превращаете в интервал [0; 1] (полученное число делите на 2 и прибавляете 0.5) и умножаете на некий коэффициент.
gulp.task('browser-sync', function() {
browserSync.init({
server: {
baseDir: 'app'
}
});
});
gulp.task('html', function () {
return gulp.src(path.src.html)
.pipe(gulp.dest(path.app.html));
});
gulp.task('watch', function () {
gulp.watch('app/**/*.*').on('change', browserSync.reload);
gulp.watch(path.src.html).on('change', gulp.series(html, browserSync.reload));
});
gulp.task('default', gulp.series(
gulp.parallel('watch', 'browser-sync') //запускаем паралельно слежку за файлами и синхронизацию браузера
)); var i = 0;
if( (function(){return i%2==0})(i) ){
console.log(i);
};return gulp.src(['!./src/less/**/*', './src/**/*', './src/*.html'])return gulp.src(['!./src/{less,less/**/*}', './src/**/*', './src/*.html'])return del('./build/less', {force:true});return gulp.src(['!./src/less/**/*', './src/**/*', './src/*.html'])gulp.src(['!./src/less/**/*', './src/**/*', './src/*.html'])const button = document.getElementById('button');const button = document.querySelector('#button');button.addEventListener('click', function (e){
console.log(i);
});button.addEventListener('click', (event) => {
console.log(i);
});