Sergey
Как получить из первого массива второй ?
// 1
[
{
"serial_number": 1,
"math": {
"expired": null,
"exercise_details": [
{
"finished_time": "2019-02-21 14:51:13.166856",
"exercise_points": 5,
"title": "A1"
},
{
"finished_time": null,
"exercise_points": 5,
"title": "A2"
},
],
},
"open": {
"expired": null,
"exercise_details": [
{
"serial_number": 1,
"finished_time": "2019-03-01 14:09:50.012372",
"title": "A3"
},
{
"serial_number": 2,
"finished_time": "2019-03-01 14:29:50.012372",
"title": "B1"
}
]
}
}
];
// 2
[
{
"serial_number": 1,
"math": [
{
"finished_time": "2019-02-21 14:51:13.166856",
"exercise_points": 5,
"title": "A1"
},
{
"finished_time": null,
"exercise_points": 5,
"title": "A2"
},
],
"open": [
{
"serial_number": 1,
"finished_time": "2019-03-01 14:09:50.012372",
"title": "A3"
},
{
"serial_number": 2,
"finished_time": "2019-03-01 14:29:50.012372",
"title": "B1"
}
]
}
];
.map
D_d
A dalshe? Chto v callback написать чтоб свойство math содержала в себе массив math.exercises_details
Антон
Как получить из первого массива второй ?
// 1
[
{
"serial_number": 1,
"math": {
"expired": null,
"exercise_details": [
{
"finished_time": "2019-02-21 14:51:13.166856",
"exercise_points": 5,
"title": "A1"
},
{
"finished_time": null,
"exercise_points": 5,
"title": "A2"
},
],
},
"open": {
"expired": null,
"exercise_details": [
{
"serial_number": 1,
"finished_time": "2019-03-01 14:09:50.012372",
"title": "A3"
},
{
"serial_number": 2,
"finished_time": "2019-03-01 14:29:50.012372",
"title": "B1"
}
]
}
}
];
// 2
[
{
"serial_number": 1,
"math": [
{
"finished_time": "2019-02-21 14:51:13.166856",
"exercise_points": 5,
"title": "A1"
},
{
"finished_time": null,
"exercise_points": 5,
"title": "A2"
},
],
"open": [
{
"serial_number": 1,
"finished_time": "2019-03-01 14:09:50.012372",
"title": "A3"
},
{
"serial_number": 2,
"finished_time": "2019-03-01 14:29:50.012372",
"title": "B1"
}
]
}
];
таких объектов много или 1
Sergey
таких объектов много или 1
а внутри объекта у него все равно есть массивы, так что так или иначе надо будет прогонять циклом
Антон
если один можно проще
arr[0].math = arr[0].math.exercise_details
Антон
я так вижу, что он хочет заменить math на exercise_details
Антон
а вопрос был про изначальный объект - массив
Антон
у него массив из объектов с serial_number, math и open
Alex
как при помощи дж скрипт сделать на веб странице вывод текста по букве после убирать текст и опять печать ?
D_d
Andrew
Ребята всем привет, посоветуйте пож., как лучше или может где пример хороший.
Как сделать корзину на сайте?
Где хранить и что использовать для темплов (разметки) например?
Как данными обмениваться, разметку сразу на серваке генерить и отдавать, или на фронте через шаблоны пропускать?
Да.., это все на нативном js + жыквери, без vue, react, angular. Используется жыквери + laravel + webpack =)
Пока только на уме принимать с сервера json и проганять через шаблонизатор doT.js мало занимает и вроде быстрый.
Миха
Подскажите пожалуйста
Где можно найти инструкцию по написанию приложения ?
Заранее спасибо 🙏
🤴👷♂️🦸♂️🧚♀️
🤴👷♂️🦸♂️🧚♀️
Anonymous
🤴👷♂️🦸♂️🧚♀️
Anonymous
Какого приложения, для чего - а черт его знает. Плюс еще и на русском.
Anonymous
🤴👷♂️🦸♂️🧚♀️
Сергей
Походу, у нас тут личинка фрилансера.
Alexander
Парни, извечный вопрос
Ускорьте цикл по массиву.
Тут я накинул пару стандартных вариков
https://jsfiddle.net/754kxt9y/2/
Челендж предлагаю, по самому быстрому циклу 😂
Парни геймдева сделают быстрее чем отнимание и запоминание длинны?
Nikita
Русскую !
Я работаю в ноде и визуаль студиа
Я не знаю, что именно ты хочешь сделать, но давай попробуем пованговать.
https://expressjs.com/ru/starter/installing.html
https://expressjs.com/ru/guide/routing.html
Славик
Славик
чисто на будущее
Миха
Славик
Syntax Highlight Bot
Славик
тут как бы i не меняется =)
Vlad
так он обратный типа
Славик
он пушит один и тот же элемент
Alexander
array[length]
Alexander
надо было
Славик
и length - 1
Славик
i <= length
Славик
лично я не знаю варианта побыстрее
Vlad
а бле, точно
Vlad
гайс, а кто-то в контесте телеграмма участвует?
Славик
и тоже не знаю, насколько это принципиально, но если надо элементы одного массива перегнать в другой, то можно newArr = new Array(length); newArr[i] = oldArr[i]
Maksim
Славик
Alexander
Славик
Date.now() есть
Alexander
так от этого результаты как-то поменяются?
Славик
Славик
во-первых, сделай
lenght = array.length - 1
во-вторых, укажи корректную переменную для указания индекса массива и время будет ок =)
Славик
и reverse снова будет самый быстрый
Alexander
А вот есть кто гейм девом занимается
Alexander
и может это же сделать как-то быстрее?
Славик
а геймдев нынче фигачит что-то на js?
Vlad
йа
Alexander
Да
Alexander
Они познали истину говорят
Alexander
и могут отпимизировать все что угодно 😂
Alexander
Сравните реверс цикл с запоминанием длинны с веб асембли. Может кто-то такой бенчмарк предоставить?
Maksim
странно видеть тесты быстрейших циклов в которых нет while
Maksim
и рекурсии
Славик
тут только если типы данных оптимизировать, пробовать побитовые операции добавлять
🤴👷♂️🦸♂️🧚♀️
Ребят, поясните почему когда я создаю страничку на localhost, то могу открывать ее с телефона на том же вай фае, а когда создаю на айпишнике по типу 127.0.0.1, то так уже не выходит
Vlad
почитай что такое 127.0.0.1
🤴👷♂️🦸♂️🧚♀️
Антон
Антон
во первых это не одно и то же
а ответом на твой вопрос будет такое тождество localhost = этот_компухтер
Камель
'use strict';
var gulp = require('gulp'),
mainBowerFiles = require('main-bower-files'),
watch = require('gulp-watch'),
prefixer = require('gulp-autoprefixer'),
uglify = require('gulp-uglify'),
sourcemaps = require('gulp-sourcemaps'),
sass = require('gulp-sass'),
cleanCSS = require('gulp-clean-css'),
imagemin = require('gulp-imagemin'),
pngquant = require('imagemin-pngquant'),
rimraf = require('rimraf'),
browserSync = require("browser-sync"),
reload = browserSync.reload;
var path = {
vendor: {
js: 'app/js/',
css: 'app/css/'
},
dist: { //Тут мы укажем куда складывать готовые после сборки файлы
html: 'dist/',
js: 'dist/js/',
scss: 'dist/css/',
css: 'dist/css/',
img: 'dist/img/',
fonts: 'dist/fonts/'
},
app: { //Пути откуда брать исходники
html: 'app/*.html', //Синтаксис src/*.html говорит gulp что мы хотим взять все файлы с расширением .html
js: 'app/js/*.js',//В стилях и скриптах нам понадобятся только main файлы
scss: 'app/css/*.scss',
css: 'app/css/*.css',
img: 'app/img//*.*', //Синтаксис img//*.* означает - взять все файлы всех расширений из папки и из вложенных каталогов
fonts: 'app/fonts//*.*'
},
watch: { //Тут мы укажем, за изменением каких файлов мы хотим наблюдать
html: 'app//*.html',
js: 'app/js//*.js',
scss: 'app/css//*.scss',
css: 'app/css//*.css',
img: 'app/img//*.*',
fonts: 'app/fonts//*.*'
},
clean: './dist'
};
var config = {
server: {
baseDir: "./dist"
},
tunnel: true,
host: 'localhost',
port: 8081,
logPrefix: "WAYUP"
};
gulp.task('vendorJs:build', function () {
gulp.src( mainBowerFiles('/*.js') ) //Выберем файлы по нужному пути
.pipe(gulp.dest(path.vendor.js)) //Выплюнем готовый файл в app
});
gulp.task('vendorCss:build', function () {
gulp.src( mainBowerFiles('**/*.css') ) //Выберем файлы по нужному пути
.pipe(gulp.dest(path.vendor.css)) //И в app
});
gulp.task('html:build', function () {
gulp.src(path.app.html) //Выберем файлы по нужному пути
.pipe(gulp.dest(path.dist.html)) //Выплюнем их в папку build
.pipe(reload({stream: true})); //И перезагрузим наш сервер для обновлений
});
gulp.task('js:build', function () {
gulp.src(path.app.js) //Найдем наш main файл
.pipe(sourcemaps.init()) //Инициализируем sourcemap
.pipe(uglify()) //Сожмем наш js
.pipe(sourcemaps.write()) //Пропишем карты
.pipe(gulp.dest(path.dist.js)) //Выплюнем готовый файл в build
.pipe(reload({stream: true})); //И перезагрузим сервер
});
gulp.task('scss:build', function () {
gulp.src(path.app.scss) //Выберем наш main.scss
.pipe(sourcemaps.init()) //То же самое что и с js
.pipe(sass()) //Скомпилируем
.pipe(prefixer()) //Добавим вендорные префиксы
.pipe(cleanCSS()) //Сожмем
.pipe(sourcemaps.write())
.pipe(gulp.dest(path.dist.scss)) //И в build
.pipe(reload({stream: true}));
});
gulp.task('css:build', function () {
gulp.src(path.app.css) //Выберем наш main.css
.pipe(sourcemaps.init()) //То же самое что и с js
.pipe(gulp.dest(path.dist.css)) //И в build
.pipe(reload({stream: true}));
});
gulp.task('image:build', function () {
gulp.src(path.app.img) //Выберем наши картинки
.pipe(imagemin({ //Сожмем их
progressive: true,
svgoPlugins: [{removeViewBox: false}],
use: [pngquant()],
interlaced: true
}))
.pipe(gulp.dest(path.dist.img)) //И бросим в build
.pipe(reload({stream: true}));
});
gulp.task('fonts:build', function() {
gulp.src(path.app.fonts)
.pipe(gulp.dest(path.dist.fonts))
});
gulp.task('build', [
'vendorCss:build',
'vendorJs:build',
'html:build',
'js:build',
'scss:build',
'css:build',
'fonts:build',
'image:build'
]);
Камель
gulp.task('watch', function(){
watch([path.watch.html], function(event, cb) {
gulp.start('html:build');
});
watch([path.watch.scss], function(event, cb) {
gulp.start('scss:build');
});
watch([path.watch.css], function(event, cb) {
gulp.start('css:build');
});
watch([path.watch.js], function(event, cb) {
gulp.start('js:build');
});
watch([path.watch.img], function(event, cb) {
gulp.start('image:build');
});
watch([path.watch.fonts], function(event, cb) {
gulp.start('fonts:build');
});
});
gulp.task('webserver', function () {
browserSync(config);
});
gulp.task('clean', function (cb) {
rimraf(path.clean, cb);
});
gulp.task('default', ['build', 'webserver', 'watch']);
Maksim
надеюсь тебя забанят
Камель
Почему не работает