찾다

 >  Q&A  >  본문

javascript - for 루프의 약속이 색인을 읽을 수 없는 이유

으아악

두 번째 출력은 $remove

입니다.

또는 .then

에서 열쇠를 얻는 방법을 알려주세요.
给我你的怀抱给我你的怀抱2815일 전671

모든 응답(5)나는 대답할 것이다

  • 仅有的幸福

    仅有的幸福2017-05-19 10:22:43

    키워드: 폐쇄

    회신하다
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:22:43

    array.map을 사용하여 문제를 해결하는 것이 더 우아할 것입니다

    회신하다
    0
  • 滿天的星座

    滿天的星座2017-05-19 10:22:43

    Closed, es6에서 var를 let으로 바꾸세요

    회신하다
    0
  • 高洛峰

    高洛峰2017-05-19 10:22:43

    이 문제는 일반적인 루프 변수 범위 문제입니다. then() 中的回调被调用的时候 key 可能已经循环到最后一个了(也可能是间的某个值),所以里面使用的 key 值是当时的 key 值。这在 ES6 中要可以用 let 代替 var 해결하려면 (이미 ES6 화살표 기능을 사용하신 적이 있으니 ES6를 먼저 사용하세요)

    으아아아

    ES5를 작성하려면 IIFE를 사용하여 현지화된 키 값을 봉인할 수 있습니다(매개변수를 통해 전달되므로 변경되지 않음)

    으아아아

    추천하는 함수형 작성법이 더 간단해 보이는데 ES6에서는 이렇게 할 수 있다

    으아아아

    ES2017에서는 비동기도 사용할 수 있어 구문이 더 간결해졌습니다

    으아아아

    회신하다
    0
  • ringa_lee

    ringa_lee2017-05-19 10:22:43

    방금 테스트했는데 작동합니다. var 대신 let을 사용해야 합니다. 그렇지 않으면 출력이 마지막 키가 됩니다

    회신하다
    0
  • 취소회신하다