首页 > 其他分享 >TypeScript error TS2345 All In One

TypeScript error TS2345 All In One

时间:2024-05-30 13:34:30浏览次数:21  
标签:TypeScript TS2345 number length let temperatures error answer stack

TypeScript error TS2345 All In One

error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'.

image

errors

function dailyTemperatures(temperatures: number[]): number[] {
  // ❌ error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'.
  let answer = [...``.padEnd(temperatures.length, 0)].map(Number);
  // let answer = [...``.padEnd(temperatures.length, 0)].map(i => parseInt(i))!;
  //  ✅
  // let answer = new Array(temperatures.length).fill(0);
  let stack: number[] = [];
  for(let i = 0; i < temperatures.length; i++) {
    while(stack.length && temperatures[stack[stack.length - 1]] < temperatures[i]) {
      let index = stack.pop();
      answer[index] = i - index;
    }
    stack.push(i);
  }
  return answer;
};

https://leetcode.com/problems/daily-temperatures/

https://github.com/SharePoint/sp-dev-training-spfx-webpart-proppane/issues/7#issuecomment-2138695778

solutions

0 => '0', number 替换成 string ✅

function dailyTemperatures(temperatures: number[]): number[] {
  // ❌ error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'.
  let answer = [...``.padEnd(temperatures.length, `0`)].map(Number);
  // let answer = [...``.padEnd(temperatures.length, 0)].map(Number);
  // let answer = [...``.padEnd(temperatures.length, 0)].map(i => parseInt(i))!;
  //  ✅
  // let answer = new Array(temperatures.length).fill(0);
  let stack: number[] = [];
  for(let i = 0; i < temperatures.length; i++) {
    while(stack.length && temperatures[stack[stack.length - 1]] < temperatures[i]) {
      let index = stack.pop();
      answer[index] = i - index;
    }
    stack.push(i);
  }
  return answer;
};

https://www.typescriptlang.org/play/?ssl=17&ssc=3&pln=1&pc=1#code/GYVwdgxgLglg9mABAEwIYwDYE8AqBTAWwAc8AnVKEUvAZwAopCTzLqaAuRMEAgIzIDaAXQCUnbn0FDEAbwBQiRAHoliQDLkiMqTilEOAMoAmAMwAWAKycAgqQDmPPGCiI4wRFCwlEAcgn9S3ogwNFxwzqg0NDC2YKi8GHjucIhEqOQEeIy6ru6eid40UKQwYLbeAHQKiAnhYDQA7mSIALyIAuUdAAad5anIAKJgyAxMZBRUtOUJpVAAFgA0iJ0ADJ0iQuUEqER0AHI8-iIA3FUq1ZmIqHWNuq3tXT19g8OMxGOsk9O2c4vL65vbPYHMjHU6qGqXa5NO4dcrdXqoAZDEZvFgTGhTRzfBaIP4bLY7GAtAB8KTSNDwAEknHQYCIRABCE6KM6IQCg5GDzrUGtCuHh6ogbOQsCjmOM2JiZrMROVgJgMHQ-syuYhCqgIABrcTA0jCFptITK4A6OgQomtZZHIKIAA87lGaIlXzmVpgAGo3SJZFVFPVZpg8HQ1ZrJdjEAAycP21Hi2gCYMa+NQdUa0NzRAAWkQAEYhNI7a8xR8aAIYKJvYpKyqSsg8AAPfUJ3pwHagquKK483U1+vSVpErM9uvKxQAXx9quTIaIIBos1pbcQ48U1FYSE7NxOo6OQA

demos

function dailyTemperatures(temperatures: number[]): number[] {
  // ❌ error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'.
  let answer = [...``.padEnd(temperatures.length, `0`)].map(Number);
  // let answer = [...``.padEnd(temperatures.length, 0)].map(Number);
  // let answer = [...``.padEnd(temperatures.length, 0)].map(i => parseInt(i))!;
  //  ✅
  // let answer = new Array(temperatures.length).fill(0);
  let stack: number[] = [];
  for(let i = 0; i < temperatures.length; i++) {
    while(stack.length && temperatures[stack[stack.length - 1]] < temperatures[i]) {
      let index = stack.pop();
      answer[index] = i - index;
    }
    stack.push(i);
  }
  return answer;
};

https://www.typescriptlang.org/play/?#code/GYVwdgxgLglg9mABAEwIYwDYE8AqBTAWwAc8AnVKEUvAZwAopCTzLqaAuRMEAgIzIDaAXQCUnbn0FDEAbwBQiRAHoliQDLkiMqTilEOAMoAmAMwAWAKycAgqQDmPPGCiI4wRFCwlEAcgn9S3ogwNFxwzqg0NDC2YKi8GHjucIhEqOQEeIy6ru6eid40UKQwYLbeAHQKiAnhYDQA7mSIALyIAuUdAAad5anIAKJgyAxMZBRUtOUJpVAAFgA0iAAMIkLlBKhEdAByPP4iANxVKtWZiKh1jbqt7V09fYPDjMRjrJPTtnOLK2sbWzAtAB8KTSNDwAEknHQYCIRABCI6KE6IQCg5MdVDVzpcmq0wHh6ogbOQsCMXiwJjQpo5PrMROVgJgMHQVojTs5CqgIABrcR7KQtNpCVnAHR0TEA1pLA5BRAAHnco3JbCpM1m0pgAGoNSJZFVFPVZpg8HQOdyVTTEAAyS0KsnjNgCU1cx1QTlc81zRAAWkQAEYhNJ5c9mPbaAIYKJdYpo2ygkM8AAPAVO3pwLaHPXRi4NQQlZCJ6StAE+vOJ1mKAC+mZTRBANFm0Izlaq1FYSGzVyOFYOQA

(

标签:TypeScript,TS2345,number,length,let,temperatures,error,answer,stack
From: https://www.cnblogs.com/xgqfrms/p/18222160

相关文章