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

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

let arr = ['foo', 'bar', 'hello', 'world'],
str = '',
newArr = [],
results = [];
// 组合
for (let i = 0; i < 99; i++) {
	newArr.push(arr.sort(() => {
		return Math.random() > 0.5 ? 1 : -1;
	}).join(''));
}
// console.log(newArr)
// 去重
unidyh = (args) => {
	for (let i = 0; i < args.length; i++) {
		if (results.indexOf(args[i]) < 0) {
			results.push(args[i]);
		}
	}
	return results;
}

// 数组去重
// newArr.unidyh();
unidyh(newArr);

console.log('the results is:\n');

results.map(item => {
	console.log(item);
});

 

posted @ 2021-02-25 17:39  JackieDYH  阅读(11)  评论(0)    收藏  举报  来源