Как правильно использовать дженерики?

Если вы хотите преобразовать свой вход array в array из objects, где каждая object будет удерживать каждую последовательную комбинацию [id, name, age и address), вы можете использовать for loop с шагом, равным 4, чтобы читать каждый 4 элемента в одном object.

Вот как должен быть ваш код:

for (var i = 0; i < array.length; i+=4) {
  result.push({
    id: array[i],
    name: array[i + 1],
    age: array[i + 2],
    address: array[i + 3],
  });
}

Демо:

Это рабочая демонстрация:

var array = [
  'id',
  'name',
  'age',
  'address',
  'id',
  'name',
  'age',
  'address'
];

var result = [];

for (var i = 0; i < array.length; i+=4) {
  result.push({
    id: array[i],
    name: array[i + 1],
    age: array[i + 2],
    address: array[i + 3],
  });
}

console.log(result);

0
задан Sergey Krivochenko 19 January 2019 в 10:26
поделиться

1 ответ

Если я правильно понимаю, вы хотите, чтобы тип FormResult извлекал параметры базового типа из ButtonSelectControlData и ControlData. Если это так, то одним из возможных решений является создание условного типа :

type FormResult<T> = {
  [K in keyof T]: T[K] extends ControlData<infer U>
    ? U
    : never         
}
0
ответ дан Karol Majewski 19 January 2019 в 10:26
поделиться
Другие вопросы по тегам:

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