https://leetcode-cn.com/problems/linked-list-cycle-ii/

    1. /**
    2. * Definition for singly-linked list.
    3. * class ListNode {
    4. * val: number
    5. * next: ListNode | null
    6. * constructor(val?: number, next?: ListNode | null) {
    7. * this.val = (val===undefined ? 0 : val)
    8. * this.next = (next===undefined ? null : next)
    9. * }
    10. * }
    11. */
    12. function detectCycle(head: ListNode | null): ListNode | null {
    13. const set = new Set();
    14. while (head) {
    15. if (set.has(head)) return head;
    16. set.add(head);
    17. head = head.next;
    18. }
    19. return null
    20. };

    https://bigfrontend.dev/zh/problem/implement-Promise-any

    function any(promises) {
      promises = Array.isArray(promises) ? promises : [];
      let len = promises.length;
      const errors = [];
      return new Promise((resolve, reject) => {
        if (len === 0) {
          return reject(new AggregateError('No Promise in Promise.any was resolved'))
        }
        promises.forEach((promise, index) => {
          promise.then(value => {
            return resolve(value);
          }, (reason) => {
            len--;
            errors[index] = reason;
          }).finally(() => {
            if (len === 0) {
              reject(new AggregateError('No Promise in Promise.any was resolved', errors))
            }
          })
        });
      })
    }