JS常用处理用法

1. 数组对象去重
   filterList() {
    var arr = [],
     cylinderNumber = [],
     externalOrderNumber = [],
     internalOrderNumber = [],
     customer = [];
    // console.log('searchList',searchList)
    if (_self.orderList.length == 0) {
     _self.isShowSearchTip = true;
     return arr;
    }
    _self.orderList.forEach(item => arr.push(item));
    if (_self.filterText) {
     cylinderNumber = _self.orderList.filter(item => item.cylinderNumber.includes(_self.filterText));
     externalOrderNumber = _self.orderList.filter(item => item.externalOrderNumber.includes(_self.filterText));
     internalOrderNumber = _self.orderList.filter(item => item.internalOrderNumber.includes(_self.filterText));
     customer = _self.orderList.filter(item => item.customer.includes(_self.filterText));

    }
    const res = new Map();
    arr = cylinderNumber.concat(externalOrderNumber).concat(internalOrderNumber).concat(customer);
    _self.isShowSearchTip = false;
    return Array.from(new Set(arr));
   }
2. 实现数字每三位加逗号的方法
function NumConversion(str){
    var newStr = "";
    var count = 0;
    // 当数字是整数
    if (str.indexOf(".") == -1) {
        for (var i = str.length - 1; i >= 0; i--) {
            if (count % 3 == 0 && count != 0) {
                newStr = str.charAt(i) + "," + newStr;
            } else {
                newStr = str.charAt(i) + newStr;
            }
            count++;
        }
        str = newStr ; //自动补小数点后两位
        return str;
    }
    // 当数字带有小数
    else {
        for (var i = str.indexOf(".") - 1; i >= 0; i--) {
            if (count % 3 == 0 && count != 0) {
                newStr = str.charAt(i) + "," + newStr;
            } else {
                newStr = str.charAt(i) + newStr; //逐个字符相接起来
            }
            count++;
        }
        str = newStr + (str + "00").substr((str + "00").indexOf("."), 3);
        return str;
    }
}
3. 删除数组中的某一个对象
function removeArray(_arr, _obj) {
    varlength = _arr.length;
    for(vari = 0; i < length; i++) {
        if(_arr[i] == _obj) {
            if(i == 0) {
                _arr.shift(); //删除并返回数组的第一个元素return _arr;
            }
            elseif(i == length - 1) {
                _arr.pop();  //删除并返回数组的最后一个元素return _arr;
            }
            else {
                _arr.splice(i, 1);//删除下标为i的元素return _arr;
            }
        }
    }
}
4. 字符串转base64和base64转字符串
  • 没有特殊字符情况
   let str= 'Hello Js!';
   let str64=btoa(string) // "SGVsbG8gSnMh"
   console.log(atob(str64)); // "Hello Js!"
  • 有特殊字符(非 ASCII 码字)情况
 function b64En(str) {
        return btoa(encodeURIComponent(str));
    }
    function b64Dec(str) {
        return decodeURIComponent(atob(str));
    }
    
    let str64 = b64En('你好'); // "JUU0JUJEJUEwJUU1JUE1JUJE"
    console.log(b64Dec(str64)); // "你好"
5. 5种找出数组中最大值的方法
 1. es6
	Math.max(...arr)

 2. es5
	Math.max.apply(null,arr)

 3. for
	let max = arr[0];
	for (let i = 0; i < arr.length - 1; i++) {
	    max = max < arr[i+1] ? arr[i+1] : max
	}
 4. sort
	arr.sort((n1, n2) => {
	    return n1 - n2 < 0
	})
	arr[0]
 5. reduce
	arr.reduce((n1, n2) => {
	    return n1 > n2 ? n1 : n2}
	)
6. 查找所有含有特定class的a标签
console.log('1',$("#category").find('a[class="active"]'))
console.log('2',$("#category").find('a.active'))
console.log('3',$("#category a[class='active']"))
console.log('4',$("#category a.active"))
7. SCRIPT1003: 缺少 ‘:’,IE浏览器会报错,无法运行成功。而谷歌浏览器可以。
主要原因还是IE兼容性较差,目前IE11支持ES5写法,对ES6支持缺失。
let a = {
  data() {
    return {
      ...
    }
  }
}

处理OK// 改成这样就OK了
let a= {
  data: function(){
    return {
      ...
    }
  }
}
8. ajax post请求 将参数放到body请求
$.ajax({
    url: link + 'video/Online',
    type: 'POST',
    contentType:"application/json;charset=utf-8",
    data:JSON.stringify({'key':'key'}),
    dataType: "json",
    success: function (response) {
        console.log('getSessionIdLists',response)
        if(1 == response.code){
            return response.data.sessionId;
        }
    }
})
9. 对小数进行判断处理
var point_position = String(num).indexOf(".") + 1;//获取小数点的位置
var count = String(num).length - point_position;//获取小数点后的个数
if(point_position > 0) {
    alert("这个数字是小数,有" + count + "位小数");
    alert(String(num).substring(0,point_position-1))
} else {
    var num = (num || 0).toString(), result = '';
    while (num.length > 3) {
        result = ',' + num.slice(-3) + result;
        num = num.slice(0, num.length - 3);
    }
    if (num) {
        result = num + result;
        console.log('0',result)
    }
}
10. 抓取传过来的url的数据
window.location.search
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值