首页 > 代码库 > 一道考察数组知识的编程题

一道考察数组知识的编程题

今天先贴代码,下次补上整体思路与后续优化

题目:假设有一个集合 [‘foo‘, ‘bar‘, ‘hello‘, ‘world‘],求这个集合里单词组合起来的所有不同的结果。

 1 let arr = [‘foo‘, ‘bar‘, ‘hello‘, ‘world‘], 2     str = ‘‘, 3     newArr = [], 4     results = []; 5  6     for (let i = 0; i < 99; i++) { 7         newArr.push(arr.sort(() => { 8             return Math.random() > 0.5 ? 1 : -1; 9         }).join(‘‘));10 11     }12 13     unique = args => {14         for (let i = 0; i < args.length; i++) {15             if (results.indexOf(args[i]) < 0) {16                 results.push(args[i]);17             }18         }19         return results;20     }21 22     // 数组去重23     // newArr.unique();24     unique(newArr);25 26     console.log(‘the results is:\n‘);27 28     results.map(item => {29         console.log(item);30     });

粘到你的*.js文件中试试吧!

一道考察数组知识的编程题