var array = ["one", "two", "three", "four", "five"], result = array.slice(0, 3).map(function () { return this.splice(Math.floor(Math.random() * this.length), 1)[0]; }, array.slice()); console.log(result); Run code snippet