Это обозначение называется Деструктурирующее назначение . По сути, req.user
- это object
с клавишами _raw
, _json
и другими клавишами. С этим синтаксисом вы читаете непосредственно свойства _raw
и _json
объекта, а остальная часть объекта сохраняется в переменной userProfile
. Для этой части используется Spread Syntax .
const req = {
user: {
_raw: "raw",
_json: "json",
other1: "other1",
other2: "other2"
}
};
const { _raw, _json, ...userProfile } = req.user;
console.log("_raw is: ", _raw);
console.log("_json is: ", _json);
console.log("userProfile is: ", userProfile);
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}
Для простых локально сгенерированных графиков, посмотрите Gruff .
Также стоит посмотреть некоторые из рубиновых библиотек Google Charts, googlecharts Быть одним.
Я использую protochart, который является библиотекой создания прототипов. Я предпочитаю это вещам на стороне сервера, потому что это не добавляет столько нагрузки на сервер, и я думаю, что диаграммы выглядят лучше, а API легче работать.
Существует также рубиновый гем для gnuplot . Хотя это может быть не так просто в использовании, как Gruff или googlecharts, оно обеспечит большую гибкость для более научных графиков. Например, ни диаграммы Google, ни gruff не поддерживают построение доверительных интервалов, которые я проверял в последний раз, в отличие от gnuplot.