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);
});