Как отобразить массив и вернуть объект с помощью tslint. (синтаксический сахар) - PullRequest
0 голосов
/ 03 июля 2018
Это чистый синтаксический сахар вопрос.

Как я могу перебрать массив с map и вернуть новый объект без TSLint, говоря:

Это тело функции стрелки можно упростить, опуская фигурные скобки и ключевое слово return и заключая литерал объекта в скобки.

Например, пользователь объекта:

class User {
    constructor(
        public id: number, 
        public first_name: string, 
        public last_name: string, 
        public gender: Date, 
        public location: number, 
    )
}

И когда я делаю это:

const simple_users = users.map(u => { return { name: u.name, id: u.id} });

Тогда это происходит:

[tslint] This arrow function body can be simplified by omitting the curly braces and the
keyword 'return', and wrapping the object literal in parentheses. (arrow-return-shorthand)

И я хочу сохранить правило tslint arrow-return-shorthand.

1 Ответ

0 голосов
/ 03 июля 2018

Просто оберните ваш объект внутри () (скобки) и удалите операторы function и return. Сокращение ниже.

const simple_users = users.map(u => ({ name: u.name, id: u.id}));

Далее destructuring версия будет более укороченной.

const simple_users = users.map(({name, id}) => ({ name, id}));
...