Профиль пользователя заблокирован сроком с 18 марта 2020 г. и навсегда по причине: нарушение п. 6.6 правил сайта
  • Как правильно комментировать код?

    @vith77
    На случай, если еще не читали:

    https://www.ozon.ru/context/detail/id/5011068/
    https://www.ozon.ru/context/detail/id/138437220/

    в обоих книгах есть главы про комментирование кода.
    Ответ написан
    1 комментарий
  • Как правильно комментировать код?

    @kulaeff
    Front-end developer
    А что такое *user info, *user data? В фигурных скобках нужно указывать тип переменной, например, string, number, object или какой-то свой кастомный тип, заданный с помощью `@typedef`. И обычно не пишут "Function for ...", и так понятно, что это функция, достаточно написать, например, Gets a random text message, Creates user message. Или то же самое, но в инфинитиве - Get, Create и т.д.
    Ответ написан
    3 комментария
  • Javascript tree table (sort)?

    vahe_2000
    @vahe_2000
    если я вас правильно понял вы хотите просто сортировать таблицу.
    вот мой демо код codesandbox.io
    там используется обычный метод Array.sort, хотя вы можете использовать lodash или underscore

    import React from "react";
    import { render } from "react-dom";
    
    import "./index.css";
    
    const data = [
      { index: 0, product: "Bread", category: "Food", price: 1 },
      {
        index: 1,
        product: 'F. Dostoyevsky "Crime and Punishment"',
        category: "Books",
        price: 8
      },
      { index: 2, product: "iPhone", category: "Electronics", price: 699 },
      { index: 3, product: "Milk", category: "Food", price: 2 },
      { index: 4, product: "TV", category: "Electronics", price: 1099 }
    ];
    
    class TableRow extends React.Component {
      render() {
        return (
          <tr>
            <td>{this.props.index}</td>
            <td>{this.props.product}</td>
            <td>{this.props.category}</td>
            <td>
              {"$"}
              {this.props.price}
            </td>
          </tr>
        );
      }
    }
    
    class Table extends React.Component {
      constructor(props) {
        super(props);
        this.state = {
          index: true,
          product: true,
          category: true,
          price: true,
          data: props.data
        };
      }
      sortByIndex() {
        var getIndex = !this.state.index;
        var data = this.state.data;
        data.sort((a, b) => {
          if (!getIndex) {
            return b.index - a.index;
          } else {
            return a.index - b.index;
          }
        });
        this.setState({ data, index: getIndex });
      }
      sortByProductName() {
        var getProduct = !this.state.product;
        var data = this.state.data;
        data.sort((a, b) => {
          if (!getProduct) {
            return b.product > a.product;
          } else {
            return a.product > b.product;
          }
        });
        this.setState({ data, product: getProduct });
      }
      sortByCategory() {
        var getCategory = !this.state.category;
        var data = this.state.data;
        data.sort((a, b) => {
          if (!getCategory) {
            return b.category > a.category;
          } else {
            return a.category > b.category;
          }
        });
        this.setState({ data, category: getCategory });
      }
      sortByPrice() {
        var getPrice = !this.state.price;
        var data = this.state.data;
        data.sort((a, b) => {
          if (!getPrice) {
            return b.price - a.price;
          } else {
            return a.price - b.price;
          }
        });
        this.setState({ data, price: getPrice });
      }
      render() {
        return (
          <table className="table">
            <tr>
              <th onClick={this.sortByIndex.bind(this)}>
                Index <i className={this.state.index ? "fa fa-caret-up" : "fa fa-caret-down"} aria-hidden="true" />{" "}
              </th>
              <th onClick={this.sortByProductName.bind(this)}>
                Product <i className={this.state.product ? "fa fa-caret-up" : "fa fa-caret-down"} aria-hidden="true" />{" "}
              </th>
              <th onClick={this.sortByCategory.bind(this)}>
                Category <i className={this.state.category ? "fa fa-caret-up" : "fa fa-caret-down"} aria-hidden="true" />{" "}
              </th>
              <th onClick={this.sortByPrice.bind(this)}>
                Price <i className={this.state.price ? "fa fa-caret-up" : "fa fa-caret-down"} aria-hidden="true" />{" "}
              </th>
            </tr>
            <tbody>{this.state.data.map((element, i) => <TableRow key={Math.random()} index={element.index} product={element.product} category={element.category} price={element.price} />)}</tbody>
          </table>
        );
      }
    }
    
    render(<Table data={data} />, document.getElementById("root"));
    Ответ написан
    Комментировать
  • Алгоритм получения координат элемента?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Можете подсказать что я делаю не так

    Да всё так. Не хватает только сравнения координат элементов .box и координат перемещаемой картинки. А именно - вторые должны быть больше left/top и меньше left+width/top+height первых. Четыре неравенства, ничего сложного.
    Ответ написан
    1 комментарий
  • Возвращаем функции как результаты?

    rockon404
    @rockon404
    Frontend Developer
    Обращение идет к первому аргументу.
    Вы при вызове:
    var snakify = attitude(/millenials/ig, "Snake People");

    возвращаете в snakify такую функцию:
    function(source) {
      return source.replace(/millenials/ig, "Snake People");
    };


    и она принимает только один аргумент source.
    Ответ написан
    1 комментарий
  • Правильно ли я понимаю что такое API?

    Stalker_RED
    @Stalker_RED
    Неправильно.

    API (application programming interface) - набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) или операционной системой для использования во внешних программных продуктах.
    https://ru.wikipedia.org/wiki/API

    Ваш пример с запросами на сервер и возвращающимся JSON-ом это очень частный случай. Главная ошибка в вашем утверждении состоит в том, что API - это не те штуки который к вам возвращаются, а те штуки которые сработали после вашего запроса.

    Может быть при этом они вам вернули результат, иногда он даже бывает в формате JSON.

    Анекдот
    Едут по Австралии биолог, физик и математик.
    И видят: на лугу пасется черная овца.
    Биолог: Смотрите, в Австралии обитают черные овцы.
    Физик: Нет, в Австралии обитает как минимум одна черная овца.
    Математик: Нет, господа. В Австралии обитает как минимум одна
    овца, и как минимум с одной стороны она черная.
    Ответ написан
    8 комментариев
  • Используется ли Vue в крупных проектах и вообще используется ли?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    Используется ли Vue в крупных проектах и вообще используется ли?

    Используется
    стоит ли начинать знакомится с фреймворками начиная с Vue

    Стоит. При условии, что JS вы знаете на хорошем уровне, ибо надо знать сначала язык, а потом уже учить фреймворк.
    интересует будет ли потом работа и вообще не падет ли он

    Падет, обязательно падет, как и все не вечное на земле. Но вот как скоро - вопрос не имеющий ответа.
    Ответ написан
    2 комментария
  • Нахождение всех перестановок массива?

    tema_sun
    @tema_sun
    Ответ написан
    Комментировать
  • Как создать "дерево" с элементов объэкта?

    Stalker_RED
    @Stalker_RED
    Форматирование есть готовое, в JSON.stringify
    console.log(
      JSON.stringify(data, null, "\t")
    )
    https://jsfiddle.net/dycfxk3n/

    результат:
    Dqr9DYd.png

    Если вам не нужен JSON на выходе, и обязательно нужно избавиться от скобочек - есть replace()
    console.log(
      JSON.stringify(data, null, "\t")
       .replace(/[\"\{\}]/g, '')
    )
    https://jsfiddle.net/dycfxk3n/1

    результат:
    TOp06S6.png

    Если обязательно нужно вывести дефисы перед текстом, опишите по какой логике они у вас выводятся, а то в примере то один, то четыре, то шесть
    ...нипанятна.
    Ответ написан
    Комментировать
  • Как создать "дерево" с элементов объэкта?

    rockon404
    @rockon404
    Frontend Developer
    А что вам мешает использовать встроенную функцию JSON.stringify? https://jsfiddle.net/3uwjehnu/

    UPD: Набросал рекурсивный алгоритм, который вам нужен https://jsfiddle.net/rockon404/h41mw5t5/
    Ответ написан
    4 комментария