57. 插入区间 
代码 
javascript
// 57. 插入区间:https://leetcode.cn/problems/insert-interval/description/
// 输入:intervals = [[1,3],[6,9]], newInterval = [2,5]
// 输出:[[1,5],[6,9]]
export function insertInterval (intervals, newInterval) {
  function mergeIntervals (intervals) {
    intervals = intervals.sort((a, b) => a[0] - b[0])
    const res = [intervals[0]]
    const len = intervals.length
    for (let i = 1; i < len; i++) {
      let cur = intervals[i]
      const resLast = res[res.length - 1]
      if (cur[0] > resLast[1]) {
        res.push(cur)
      } else {
        resLast[1] = Math.max(resLast[1], cur[1])
      }
    }
    return res
  }
  return mergeIntervals(intervals.concat([newInterval]))
}typescript
// 57. 插入区间:https://leetcode.cn/problems/insert-interval/description/
// 输入:intervals = [[1,3],[6,9]], newInterval = [2,5]
// 输出:[[1,5],[6,9]]
export function insertInterval (intervals: number[][], newInterval: number[]): number[][] {
  function mergeIntervals (intervals: number[][]): number[][] {
    intervals = intervals.sort((a, b) => a[0] - b[0])
    const res: number[][] = [intervals[0]]
    const len = intervals.length
    for (let i = 1; i < len; i++) {
      let cur = intervals[i]
      const resLast = res[res.length - 1]
      if (cur[0] > resLast[1]) {
        res.push(cur)
      } else {
        resLast[1] = Math.max(resLast[1], cur[1])
      }
    }
    return res
  }
  return mergeIntervals(intervals.concat([newInterval]))
}测试代码 
ts
import { expect, test } from 'vitest'
import { insertInterval } from './typescript.ts'
import { insertInterval as insertIntervalJs } from './javascript.js'
test(`insertInterval`, () => {
  expect(insertInterval([[1,3],[6,9]], [2,5])).toEqual([[1,5],[6,9]])
})
test(`insertIntervalJs`, () => {
  expect(insertIntervalJs([[1,3],[6,9]], [2,5])).toEqual([[1,5],[6,9]])
})