js 运算

本文涵盖了JavaScript中的一些运算操作,包括取整和取余,介绍了如何合并两个数组、获取对象键值对的key,以及针对数组第一个和最后一个元素的操作。此外,还讨论了filter()方法的使用,如何实现直接下载文件的功能,以及关于身份证和手机号的安全加密方法。最后,提到了字符串处理的join()和split()方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

取整/取余

//保留整数部分
parseInt(3/2)  // 1
// 向上取整,有小数就整数部分加1
Math.ceil(3/2)  // 2
// 四舍五入
Math.round(3/2)  // 2
// 向下取整,丢弃小数部分
Math.floor(3/2)  // 1
// 取余
console.log(7%4);  // 3

合并两个数组

var a = [1,2,3];
var b = [4,5,6];
var c = a.concat(b); // c=[1,2,3,4,5,6];

获取对象键值对中的key

var obj = { a: 'aa', b: 'bb' }
var list = Object.keys(obj)
console.log(list)
// ["a", "b"]

对数组第一个和最后一个元素做操作

// push()、pop() 是从数组的尾部进行增减
// unshift()、shift() 是从数组的头部进行增减
// 会改变数组的本身的长度及内容

// pop() 方法
var arr = new Array("js","JavaScript","jQuery");
var end = arr.pop()
console.log(end);//jQuery
console.log(arr);//["js", "JavaScript"]
// length 属性
var arr = new Array("js","JavaScript","jQuery");
var end = arr[arr.length-1]
console.log(end);//jQuery
// slice() 方法
var arr = new Array("js","JavaScript","jQuery");
var end = arr.slice(-1);
console.log(end);//["jQuery"]

filter()方法

// 返回对象中字段值大于2的字段
var list = [{a:'1',b:'b'},{a:'2',c:'c'},{a:'3',d:'d'}]
var obj = list.filter(el => {
  return el.a == '2'
})
console.log(obj)
// [{a: "2", c: "c"}]
// filter 去除数组2中包含数组1的数据,并返回
    var arr1 = [{ a: 1 }]
    var arr2 = [{ a: 1 }, { b: 2 }, { c: 3 }]
    var r = arr2.filter((element, index, self) => {
      if (JSON.stringify(arr1[0]) !== JSON.stringify(element)) {
        return element
      }
    })
    console.log(r)  // [ { b: 2 }, { c: 3 }]
// 返回数组nums中所有大于5的元素
let nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let res = nums.filter((num) => {
  return num > 5;
});
console.log(res);  // [6, 7, 8, 9, 10]
// 把一个Array中的空字符串删掉
var arr = ['A', '', 'B', null, undefined, 'C', '  '];
var r = arr.filter(function (s) {
    return s && s.trim(); // 注意:IE9以下的版本没有trim()方法
});
r; // ['A', 'B', 'C']

直接下载文件

window.open(`${baseApi}/SzProjectTable/download/template?fileName=project_temp.xlsx`);
window.location.href = `${baseApi}/SzProjectTable/download/template?fileName=project_temp.xlsx`

身份证/手机号 加密

 phone.substr(0,3)+'****'+phone.substr(7)
 phone.replace(/^(\d{3})\d{4}(\d+)/,"$1****$2") //正则
 //131****6789
 idcard.substr(0,4)+'***********'+idcard.substr(14)
 idcard.replace(/(?<=\d{3})\d{12}(?=\d{2})/,"************") //正则
  • join()
1 var arr = [1, 2, 3, 4];
3 arr.join(' ')     // '1 2 3 4'
4 arr.join(' | ')     // "1 | 2 | 3 | 4"
5 arr.join()     // "1,2,3,4"
  • split()
var s = "1==2== 3==4 ==5";
var a = s.split("==");
console.log(a);  // ["1", "2", " 3", "4 ", "5"]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值