js常用数据处理方法封装

本文介绍了JavaScript中的一些实用函数,包括去除千分位、排序、添加千分位、对象属性排序、判断对象长度、AJAX调用、移动端适配、数组拍平和AJAX基本步骤。这些函数涵盖了数据处理和网络请求的关键操作,对于前端开发人员尤其有用。
1、去除千分位
function clearComma(s) {
  if ($.trim(s) == "") {
   //$.trim() ==>jq方法,去除首位空格;
   //js写法:字符串.trim()
    return s;
  } else {
    return (s + "").replace(/[,]/g, "");
  }
}
2、排序
function sort(a, b) {
    return a - b;
}
arr.sort(sort)
3、添加千分位
function addComma(num) {
	if (num === '' || num === '0') {
	    return ''
	} else {
	    num = Math.round(num).toString().split(".");  // 分隔小数点
	    var arr = num[0].split("").reverse();  // 转换成字符数组并且倒序排列
	    var res = [];
	    for (var i = 0, len = arr.length; i < len; i++) {
	        if (i % 3 === 0 && i !== 0) {
	            res.push(",");   // 添加分隔符
	        }
	        res.push(arr[i]);
	    }
	    res.reverse(); // 再次倒序成为正确的顺序
	    if (num[1]) {  // 如果有小数的话添加小数部分
	        res = res.join("").concat("." + num[1]);
	    } else {
	        res = res.join("");
	    }
	    return res;
	}
}
4、数组按照对象某个值排序
function compare(property) {
    return function (a, b) {
         var value1 = parseFloat(a[property]);
         var value2 = parseFloat(b[property]);
         return value2 - value1;        //倒序   value1-value2  正序
     }
 }
 arr.sort(compare('键名'))
5、判断对象长度
Object.keys(obj).length
//Object.keys() 返回的是有对象的键名组成的一个数组
6、jq调用

在项目开发过程中,会调用很多的接口,可以采用封装的方式,通过传参请求方式返回结果,得到想要的结果(ajax)
【利用promise异步请求,通过.then获取resolve结果】

//接口请求
      mhs_api: function (url, obj) {
         var $this = this;
          return new Promise(function (resolve, reject) {
             $.ajax({
                  type: "POST",
                 dataType: "json",
                 async: true,
                 data: obj,
                 url: url,
                 success: function (res) {
                     resolve(res)
                 },
                 error: function (res) {
                 },
             });
         });
     },
//调用接口
var url = "xxxxx";
var data = {...};
var resdata = $this.mhs_api(url, obj);
resdata.then((res) => {
    console.log(res) //res 为接口返回的数据
})
7、简单移动端缩放适配
;(function() {
  let htmlwidth=document.documentElement.clientWidth || document.body.clientWidth;//有些浏览器> >   documentElement获取不到,那就使用后面的body
  let htmlDom = document.getElementsByTagName('html')[0]
  htmlDom.style.fontSize=htmlwidth/20+'px';
  console.log(htmlwidth/20)
})();
标签部分
<meta name="viewport" content="width=device-width,intial-scale=1,user-scalable=no">
8、数组拍平
function flatArr(arr) {
  var newArr = arr.reduce((prev, current) => {
      return prev.concat(Array.isArray(current) ? flatArr(current) : current)
  }, []);
  return newArr;
}
9、ajax请求
实现AJAX的基本步骤
  • 创建XMLHttpRequest对象,即创建一个异步调用对象.
  • 创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息.
  • 设置响应HTTP请求状态变化的函数.
  • 发送HTTP请求.
  • 获取异步调用返回的数据.
  • 使用JavaScript和DOM实现局部刷新.
 function ajaxHttpRequestFunc(){
	let xmlHttpRequest;  // 创建XMLHttpRequest对象,即一个用于保存异步调用对象的变量
	if(window.ActiveXObject){ // IE浏览器的创建方式
       xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }else if(window.XMLHttpRequest){ // Netscape浏览器中的创建方式
       xmlHttpRequest = new XMLHttpRequest();
    }
	xmlHttpRequest.onreadystatechange=function(){ // 设置响应http请求状态变化的事件
        console.log('请求过程', xmlHttpRequest.readyState);
		if(xmlHttpRequest.readyState == 4){ // 判断异步调用是否成功,若成功开始局部更新数据
			console.log('状态码为', xmlHttpRequest.status);
			if(xmlHttpRequest.status == 200) {
				console.log('异步调用返回的数据为:', xmlHttpRequest .responseText);
				document.getElementById("myDiv").innerHTML = xmlHttpRequest .responseText; // 局部刷新数据到页面
			} else { // 如果异步调用未成功,弹出警告框,并显示错误状态码
				alert("error:HTTP状态码为:"+xmlHttpRequest.status);
			}
		}
	}
	xmlHttpRequest.open("GET","https://www.runoob.com/try/ajax/ajax_info.txt",true); // 创建http请求,并指定请求得方法(get)、url(https://www.runoob.com/try/ajax/ajax_info.txt)以及验证信息
	xmlHttpRequest.send(null); // 发送请求
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值