如何 return 直接在打字稿中设置完整填充对象的条件?

How to return condition full fill object directly in typescript?

我需要过滤一些数组数据,return 只有条件满足对象。我试着喜欢下面的代码。但是 filterModel[0] return 是过滤器数组的第一个元素,而不是条件满填充对象。需要一些专家的帮助来重构这段代码 return filterModel ,只有这个条件为真 dInstance => dInstance.id === Id.

export function getDModel(Id: string, data: DataModel): filterModel | undefined {
  const filterModel = data.valus?.filter(
    value => {
      const doseInstances = value.dInstances?.filter(dInstance => dInstance.id === Id);
      if (dInstances) {
        return true;
      } else {
        return false;
      }
    }
  );
  return filterModel && isNotNulAndNotEmpty(filterModel) ? filterModel[0] : undefined;
}

您可以使用 Array.prototype.find and Array.prototype.some 来避免 filterModel[0] 和其他不必要的检查

export function getDModel(Id: string, data: DataModel): filterModel | undefined {
    return data.valus.find(value => value.dInstances.some(dInstance => dInstance.id === Id));
}

更正不正确的 属性 名称,因为我不确定为什么它是 valus 而不是 values