gpt4 book ai didi

Javascript 泛型 isBlank 函数

转载 作者:行者123 更新时间:2023-12-03 16:31:58 26 4
gpt4 key购买 nike

我正在研究 JS 中的通用 isBlank 函数,例如 Java StringUtils.isBlank();
如果我错过了类似 == vs === 或更好的实现,我想听听您对实现的意见?
所以以下内容被视为空白:

var a;         //undefined => true
var b = null; //null => true
var c = ''; //emptyString => true
var d = ' '; //emptyString => true
var e = ' \b \f \n \r \t \v \0 '; //emptyString with other white space => true

实现:

    function isBlank(value){      
return(value == undefined || value == null || value.trim() == '');
}

var a;         //undefined => true
var b = null; //null => true
var c = ''; //emptyString => true
var d = ' '; //emptyString => true
var d1 = ' \b \f \n \r \t \v \0 ';
var e = 'X'; //char => false
var f = '#'; //char => false
var g = '1'; //digit => false



function isBlank(value){
return(value == undefined || value == null || value.trim() == '');
}

console.log('a => ' + isBlank(a));
console.log('b => ' + isBlank(b));
console.log('c => ' + isBlank(c));
console.log('d => ' + isBlank(d));
console.log('d1 => ' + isBlank(d1));
console.log('e => ' + isBlank(e));
console.log('f => ' + isBlank(f));
console.log('g => ' + isBlank(g));

最佳答案

您可以使用 ! 运算符来缩短您的函数,该运算符会将 undefinednull 都转换为 true(因为它会否定 falsy 值):

var a;         //undefined => true
var b = null; //null => true
var c = ''; //emptyString => true
var d = ' '; //emptyString => true
var e = 'X'; //char => false
var f = '#'; //char => false
var g = '1'; //digit => false
var h = 1; //digit => false
var d1 = ' \b \f \n \r \t \v \0 '; // whitespaces => true
var d2 = ' \b \f \n aa \r \t \v \0 '; // whitespaces with regular text => false

function isBlank(value){
return !value || !value.toString().trim() || /^[\s\b\0]+$/.test(value.toString());
}

console.log('a => ' + isBlank(a));
console.log('b => ' + isBlank(b));
console.log('c => ' + isBlank(c));
console.log('d => ' + isBlank(d));
console.log('e => ' + isBlank(e));
console.log('f => ' + isBlank(f));
console.log('g => ' + isBlank(g));
console.log('h => ' + isBlank(h));
console.log('h => ' + isBlank(d1));
console.log('h => ' + isBlank(d2));

编辑:添加 isBlank2 以在需要时支持数字

关于Javascript 泛型 isBlank 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59904409/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com