function sleep(duration) { return new Promise(resolve => setTimeout(resolve, duration)); } function sleepSort(arr) { const result = []; return Promise.all( arr.map(elm => sleep(elm * 100).then(() => result.push(elm))) ).then(() => result); } sleepSort([1, 3, 6, 2, 1, 4, 10, 1, 4, 3]).then(console.log); // 1秒後に [1, 1, 1, 2, 3, 3, 4, 4, 6, 10] と表示される 社長「そして与えられた配列の各要素に対してsleep(elm * 100).then(() =>