function myArray(len, min, max) {
const arr = []
while (arr.length < len) {
const num = Math.floor(Math.random() * (max - min) + min);
if (!arr.includes(num)) {
arr.push(num)
}
}
const res = [...new Set(arr)]
const mins = Math.min(...res)
const maxs = Math.max(...res)
return {
'arr': arr,
'min': mins,
'max': maxs
}
}
console.log(myArray(5, 2, 8))
const url = "http://www.domain.com/?user=anonymous&id=123&id=456&city=%E5%8C%97%E4%BA%AC&enabled"
const arr = url.split('?')[1].split('&')
const mapObj = new Map()
for(let i = 0 ; i < arr.length; i++) {
const item = arr[i].split('=');
if (item[0] === 'city') {
item[1] = decodeURIComponent(item[1]);
}
if (item[0]) {
if (mapObj.has(item[0])) {
const value = mapObj.get(item[0]);
if (Array.isArray(value)) {
value.push(item[1]);
} else {
mapObj.set(item[0], [+value, +item[1]]);
}
} else {
mapObj.set(item[0], item[1] || true);
}
}
}
const obj = Object.fromEntries(mapObj);
console.log(obj, 'obj--------')
实现 sum(x,y) = sum(x)(y),即定义一个函数sum,该函数可以传一个参数或者两个参数,且都要满足最后结果,例如x:2,y:3,最终期望sum(x,y) = sum(x)(y) = 5
function sum(x) {
if (arguments.length === 2) {
return arguments[0] + arguments[1];
} else {
return function(y) {
return x + y;
};
}
}
console.log(sum(2, 3));
console.log(sum(2)(3));