【前端一题】编写一个API清除字符串前后的空白字符

61 阅读1分钟

跟大家一起每天进步一丢丢,在学习的路途上不掉队。

[ 经典题 ] 编写一个API,清除字符串前后的空白字符(兼容所有浏览器)。 提示空白字符指的是:空格、换行符(\n)、回车符(\r)、换页符(\f)、水平制表符(\t)、垂直制表符(\v)。

// 例如:
const str = ' \n \t \f \r  hello world !  ';

// 清除前后空格后,输出: 'hello world !'
  • 试题参考答案跟第二天试题一起更新。
  • 希望大家积极参与和讨论。

【前端一题】什么是NaN?这样可靠地测试NaN?,参考答案:

console.log(typeof NaN); // 'number'
console.log(NaN == NaN); // false
console.log(NaN != NaN); // true
console.log(NaN === NaN); // false
console.log(NaN !== NaN); // true
console.log(Object.isObject(NaN, NaN)); // true

const isNaN = (value) => {
    
};

method1,原生API,Number.isNaN(),对原生API实现如下:

Number.is = function(num){
    // 若不是数值,则直接返回false。
    if(typeof num !== 'number') return false;
    
    // 连自己都不认识自己,那只有NaN
    return num !== num;
};

method2, Object.is(),实现如下:

// Object.is(NaN, NaN) ==> true
const isNaN = (value) => Object.is(value, NaN);

method3,不全等或不等,实现如下:

// NaN !== NaN ==> true, NaN === NaN ==> false
const isNaN = (value) => NaN !== value;

专注于原创短更,便于碎片化涉猎知识。希望我走过的路,留下的痕迹,能对你有所启发和帮助。

转发请注明原处,平台投稿请私信。