我是一个新手js“开发人员”,为了实践,我创建了一个很小的(8种方法) JavaScript库。我需要你给我反馈“我是应该继续扩展我的库还是切换到其他东西”,以及如何提高代码质量?
完整代码:
function isObject(val) {
if (val === null) { return false;}
return ( (typeof val === 'function') || (typeof val === 'object') );
}
function isDate(value) {
switch (typeof value) {
case 'number':
return true;
case 'string':
return !isNaN(Date.parse(value));
case 'object':
if (value instanceof Date) {
return !isNaN(value.getTime());
}
default:
return false;
}
}
function isEmptyOrOnlySpacesString(str) {
return (!str || /^\s*$/.test(str));
}
function getTimeZone() {
return Intl.DateTimeFormat().resolvedOptions().timeZone;
}
function doesObjectHaveEmptyProperties(obj) {
let emptyKeys = [];
for(let key in obj) {
if(obj[key] === "") {
emptyKeys.push(key + " is empty.\n");
}
}
return emptyKeys.join('') + ' others keys are filled';
}
function isSorted (arr){
return arr.every((a,b,c) => !b || c[b-1] <= a);
}
function shuffleArray (arr){
let len = arr.length;
while (len) {
const i = Math.floor(Math.random() * len--);
[arr[len], arr[i]] = [arr[i], arr[len]];
}
return arr;
}
function generateRandomIntArr(len, upTo){
return Array.from({ length: len }, () => Math.floor(Math.random() * upTo));
}你也可以访问我的github回购
提前感谢
发布于 2022-07-04 12:54:48
一次简短的回顾;
value,这是更好的可读性const是这样的)37返回true,感觉是错误的。我也会试着解析数字。此外,函数名有一点,它不检查值是否是日期,而是检查它是否可以转换为日期。list而不是arr,它的整体读起来更好arr.every((a,b,c),->,那些变量名不好。every并不那么常见。如果你坚持用一个字母变量来表示v,i,l/a (值,索引,列表/数组)shuffleArray会创建一个新的洗牌列表,而不是洗牌。let emptyKeys可能是consthttps://codereview.stackexchange.com/questions/277872
复制相似问题