前端项目中常用的公共函数

1.json数组移除某行元素

/**
 * json数组移除某行元素
 * @param val  值
 * @param field 列名
 */
Array.prototype.remove = function (val, field) {
    var index = -1;
    for (var i = 0; i < this.length; i++) {
        if (this[i][field] === val || (!field && this[i] === val)) {
            index = i;
            break;
        }
    }
    if (index > -1) {
        this.splice(index, 1);
    }
};

2.去掉字符串两边的空格

/**
 * 去掉字符串两边的空格
 */
String.prototype.trim = function () {
    return this.replace(/(^\s*)|(\s*$)/g, "");
};

3.替换全部

/**
 * 替换全部
 * @param s1
 * @param s2
 * @returns {string}
 */
String.prototype.replaceAll = function (s1, s2) {
    return this.replace(new RegExp(s1, "gm"), s2);
};

4.json数组根据ID查询元素

/**
 * json数组根据ID查询元素
 * @param val
 * @param field
 */
Array.prototype.select = function (val, field) {
    field = field || 'id';
    var index = -1;
    var retArr = [];
    for (var i = 0; i < this.length; i++) {
        if (this[i][field] == val) {
            index = i;
            retArr.push(this[i]);
        }
    }
    if (retArr.length > 0) {
        if (retArr.length == 1) return retArr[0];
        return retArr;
    }
    return null;
};
  1. json数组更新元素

```cpp
/**
 * json数组更新元素
 * @param item
 * @param field
 */
Array.prototype.update = function (item, field) {
    field = field || 'id';
    var index = -1;
    for (var i = 0; i < this.length; i++) {
        if (this[i][field] == item[field]) {
            index = i;
            break;
        }
    }
    if (index > -1) {
        this.splice(index, 1, item);
    }
};

6.日期格式化

/**
 * 日期格式化
 * @param type
 * @returns {string}
 */
Date.prototype.format = function (type) {
    var y = this.getFullYear(), m = this.getMonth() + 1, d = this.getDate(), h = this.getHours(), mm = this.getMinutes(), ss = this.getSeconds();
    m = m <= 9 ? '0' + m : m;
    d = d <= 9 ? '0' + d : d;
    h = h <= 9 ? '0' + h : h;
    mm = mm <= 9 ? '0' + mm : mm;
    ss = ss <= 9 ? '0' + ss : ss;
    if (type === 'yyyy-mm-dd') {
        return y + "-" + m + "-" + d;
    }
    if (type === 'yyyy-mm') {
        return y + "-" + m;
    }
    if (type === 'yyyy年mm月') {
        return y + "年" + m + "月";
    }
    if (type === 's') {
        return y + "-" + m + "-" + d + " " + h + ":" + mm;
    }
    if (type === 'mm-dd hh:mi') {
        return m + "-" + d + " " + h + ":" + mm;
    }
    if (type === 'hh:mi:ss') {
        return h + ":" + mm + ":" + ss;
    }
    if (type === 'hh:mi') {
        return h + ":" + mm;
    }
    if (type === "yyyy-mm-dd hh:mi") {
        return y + "-" + m + "-" + d + " " + h + ":" + mm;
    }
    return y + "-" + m + "-" + d + " " + h + ":" + mm + ":" + ss;
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

名字还没想好☜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值