与酒说心事

文章 评论 浏览 31

与酒说心事 2022-05-04 13:56:29

sort 函数,可以接收一个函数,返回值是比较两个数的相对顺序的值

  1. 默认没有函数 是按照 UTF-16 排序的,对于字母数字 你可以利用 ASCII 进行记忆
 [3, 15, 8, 29, 102, 22].sort();

// [102, 15, 22, 29, 3, 8]
  1. 带函数的比较
 [3, 15, 8, 29, 102, 22].sort((a,b) => {return a - b});
  • 返回值大于0 即a-b > 0 , a 和 b 交换位置
  • 返回值大于0 即a-b < 0 , a 和 b 位置不变
  • 返回值等于0 即a-b = 0 , a 和 b 位置不变

对于函数体返回 b-a 可以类比上面的返回值进行交换位置

第 43 题:使用 sort() 对数组 [3, 15, 8, 29, 102, 22] 进行排序,输出结果

与酒说心事 2022-05-04 13:54:33

str.replace(/d(?=(d{3})+$)/g, '$&.');

第 143 题:将 10000000000 形式的字符串,以每 3 位进行分隔展示 10.000.000.000 多种实现方式

与酒说心事 2022-05-04 10:06:03
Number.prototype.add = function (number) {
    if (typeof number !== 'number') {
        throw new Error('请输入数字~');
    }
    return this + number;
};
Number.prototype.minus = function (number) {
    if (typeof number !== 'number') {
        throw new Error('请输入数字~');
    }
    return this - number;
};
console.log((5).add(3).minus(2));

扩展

Object.prototype.add
Object.prototype.minus 

也是可以的

这个方法,可以扩展到数字字符串类型和排除 NaN

Number.prototype.add = function (value) {
    let  number = parseFloat(value);
    if (typeof number !== 'number' || Number.isNaN(number)) {
        throw new Error('请输入数字或者数字字符串~');
    };
    return this + number;
};
Number.prototype.minus = function (value) {
    let  number = parseFloat(value);
    if (typeof number !== 'number' || Number.isNaN(number)) {
        throw new Error('请输入数字或者数字字符串~');
    }
    return this - number;
};
console.log((5).add(3).minus(2));

对于在 Object 上添加原型方法是不建议的,因为这个影响太大,会影响所有以Object 构造的对象

第 50 题:实现 (5).add(3).minus(2) 功能

更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文