Фильтр ToolBar для стола

Я рассматриваю этот вопрос, исследуя предлагаемые решения для аналогичной проблемы; Я полагаю, что для будущей ссылки может быть полезно обновить доступный список ответов с помощью решения, использующего пакет broom .

Пример кода

x = cumsum(c(0, runif(100, -1, +1)))
y = cumsum(c(0, runif(100, -1, +1)))
fit = lm(y ~ x)
require(broom)
glance(fit)

Результаты

>> glance(fit)
  r.squared adj.r.squared    sigma statistic    p.value df    logLik      AIC      BIC deviance df.residual
1 0.5442762     0.5396729 1.502943  118.2368 1.3719e-18  2 -183.4527 372.9055 380.7508 223.6251          99

Боковые заметки

Я нашел полезную функцию glance, поскольку она аккуратно суммирует полезные значения. В качестве дополнительного преимущества результаты сохраняются как data.frame, что облегчает дальнейшие манипуляции:

>> class(glance(fit))
[1] "data.frame"

0
задан Gaurav Singh 18 January 2019 в 09:52
поделиться

1 ответ

Произошла ошибка при копировании соответствующего элемента в список отфильтрованных данных. Вот возможное решение с использованием копии оператора распространения:

class Test {
    // assuming users has some data
    constructor() {
        this.items = [
            { attributes: { fullName: 'toto1' } },
            { attributes: { fullName: 'toto2' } },
            { attributes: { fullName: 'tutu3' } }
        ];
        this.filterData = [];
    }
    filterUser(searchTerm) {
        this.filterCount = 0;
        console.log('searchTerm', searchTerm);
        console.log(typeof (this.items));
        if (!this.items || !searchTerm) {
            return this.items;
        }
        for (let i = 0; i < this.items.length; i++) {
            if (this.items[i].attributes.fullName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1) {
                this.filterData[i] = { ...this.items[i] }; // Copy full object using spread operator
                this.filterCount++;
            }
        }
        this.items = this.filterData;// I'm not able to copy data back to this.items
    }
}
let test = new Test();
test.filterUser('toto');
console.log(test.items);

0
ответ дан Benjamin Caure 18 January 2019 в 09:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: