Open wingmeng opened 5 years ago
一般
优秀、良好、一般、差劲
作者:张鑫旭
var arr = [{skin:1},{skin:2},{skin:3},{skin:4},{skin:5},{skin:6},{skin:7},{skin:8},{skin:9},{skin:10}]
var randArr = function (seed) {
// 变成数值
seed = seed.replace(/\D/g, function (matchs) {
return matchs.charCodeAt();
});
// 变成随机数值
var str = Math.sin(seed).toString().slice(3);
// 补全,万一数组长度很长
var arrStr = str.padStart(arr.length, str).split('');
// 随机
return [...arr].map(function (obj, index) {
obj.rand = +arrStr[index];
return obj;
}).sort(function (objA, objB) {
return objA.rand - objB.rand;
}).map(function (obj) {
delete obj.rand;
return obj;
});
};
console.dir(randArr('abc001'));
console.dir(randArr('abc001'));
console.dir(randArr('abc002'));
console.dir(randArr('abc003'));
题目:
我的回答:
预期是达到了,就是算法复杂度有点高了…… > 测试 DEMO <