Size: a a a

Angular - русскоговорящее сообщество

2021 March 18

IF

Igor Filippov in Angular - русскоговорящее сообщество
Mikhail Kamakhin
st это же типа по логике может быть не элементом массива, поэтому такая логика
Если он будет не элементом, то нет смысла вообще в проверке такой)
источник

IF

Igor Filippov in Angular - русскоговорящее сообщество
смысл проверять находится ли число в массиве строк например
источник

MK

Mikhail Kamakhin in Angular - русскоговорящее сообщество
Igor Filippov
function isInArray<T>(st: T, arr: T[]): boolean {
 return arr.indexOf(st) > -1;
}
источник

IF

Igor Filippov in Angular - русскоговорящее сообщество
Ты T привел к string
источник

MK

Mikhail Kamakhin in Angular - русскоговорящее сообщество
Igor Filippov
Ты T привел к string
а, да
источник

M

Maksim in Angular - русскоговорящее сообщество
в чем смысл newSt?
источник

ZS

Z S in Angular - русскоговорящее сообщество
Привет всем. Есть кто нибудь кто хотел сделать grid sorting с помощью @angular/cdk.
вроде все было хорошо до 11.0.3 версию, можете помочь исправить это ?

Version 11.0.3 example _ https://stackblitz.com/edit/angular-sf2jcy?embed=1&file=src/app/app.component.ts
Version 11.2.5 example_ https://stackblitz.com/edit/angular-dragdrop-grid-ng11?embed=1&file=src/app/app.component.ts
источник

MK

Mikhail Kamakhin in Angular - русскоговорящее сообщество
Подскажите, что я неправильно указываю?
restResult может быть какой-то сущностью, а также может быть массивом этих сущностей
  getArray<T>(restResult: T | T[]): T[] {
   const resultType = this.getTypeOf(restResult);
   switch (resultType) {
     case 'Array':
       return restResult.slice();
     case 'Object':
       // если объект пустой, то возвращаем [], а не [{}]
       return Object.keys(restResult).length ? [restResult] : [];
     case 'String':
     case 'Number':
       return Array.of(restResult);
     case 'Undefined':
       return [];
     default:
       console.warn(`Impossible get array from ${resultType}! Return empty array.`);
       return [];
   }
 }

 private getTypeOf<T>(obj: T): string {
   return {}.toString.call(obj).slice(8, -1);
 }
источник

MK

Mikhail Kamakhin in Angular - русскоговорящее сообщество
источник

MK

Mikhail Kamakhin in Angular - русскоговорящее сообщество
У меня вот такое проходит, например, но ошибки при использовании этой функции
источник

ZS

Z S in Angular - русскоговорящее сообщество
Mikhail Kamakhin
Подскажите, что я неправильно указываю?
restResult может быть какой-то сущностью, а также может быть массивом этих сущностей
  getArray<T>(restResult: T | T[]): T[] {
   const resultType = this.getTypeOf(restResult);
   switch (resultType) {
     case 'Array':
       return restResult.slice();
     case 'Object':
       // если объект пустой, то возвращаем [], а не [{}]
       return Object.keys(restResult).length ? [restResult] : [];
     case 'String':
     case 'Number':
       return Array.of(restResult);
     case 'Undefined':
       return [];
     default:
       console.warn(`Impossible get array from ${resultType}! Return empty array.`);
       return [];
   }
 }

 private getTypeOf<T>(obj: T): string {
   return {}.toString.call(obj).slice(8, -1);
 }
getArray<T>(restResult: T): T | T[] {
.....
}
источник

MK

Mikhail Kamakhin in Angular - русскоговорящее сообщество
Z S
getArray<T>(restResult: T): T | T[] {
.....
}
функция никогда не возвращает не массив
источник

MK

Mikhail Kamakhin in Angular - русскоговорящее сообщество
всегда возвращает только массив
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Mikhail Kamakhin
функция никогда не возвращает не массив
может дженерик тут не нужен
источник

MK

Mikhail Kamakhin in Angular - русскоговорящее сообщество
Smooth Operator
может дженерик тут не нужен
А как Observable работает?
источник

MK

Mikhail Kamakhin in Angular - русскоговорящее сообщество
Он же работает с абсолютно разными типами данных, массив, не массив
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Mikhail Kamakhin
А как Observable работает?
при чем тут он
источник

MK

Mikhail Kamakhin in Angular - русскоговорящее сообщество
Я смотрел, там используются generic типы, но не понимаю что там творится
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Mikhail Kamakhin
Я смотрел, там используются generic типы, но не понимаю что там творится
а зачем тебе он в этой функции?)
источник

MK

Mikhail Kamakhin in Angular - русскоговорящее сообщество
Чтобы она не ломала типы
источник