Javascript几个原创小技巧

本文深入探讨了JavaScript中将字符串转换为数值的方法,多维数组的简便实现,以及如何遍历正则表达式匹配结果。同时分享了数前补零的高效技巧,并提供了解决方案来简化此过程。

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

欢迎拍砖

1、字符串转换为数值
常规方法:
JavaScript code
?
1
2
var  a = parseFloat( "12" );
var  b = parseInt( "34" );

可以用
JavaScript code
?
1
2
var  a = +( "12" );
var  b = +( "34" );


2、多维数组
常规方法:
JavaScript code
?
1
2
3
4
5
6
7
var  A =  new  Array(2);
A[0] =  new  Array(2);
A[1] =  new  Array(2);
A[0][0] = 1;
A[0][1] = 2;
A[1][0] = 2;
A[1][2] = 2;


可以利用对象的属性轻松实现
JavaScript code
?
1
2
3
4
5
var  A = {};
A[[0, 0]] = 1;
A[[0, 1]] = 2;
A[[1, 0]] = 3;
A[[1, 2]] = 4;


3、遍历正则结果
常规方法:
JavaScript code
?
1
2
3
4
5
6
7
var  str =  "a1b2c3d4e5f6g7h8i9j0k" ;
var  match = str.match(/\d/g, str);
var  msg = [];
for ( var  i = 0; i < match.length; i++) {
     msg.push(match[i]);
}
alert(msg);

可以利用String.replace方法
JavaScript code
?
1
2
3
4
5
6
var  str =  "a1b2c3d4e5f6g7h8i9j0k" ;
var  msg = [];
str.replace(/\d/g,  function () {
     msg.push(arguments[0]);
});
alert(msg);


大家自己又什么发现欢迎交流。

--- 楼下补充和讨论汇总 ---
22楼cuixiping

如果确需copy到一个普通数组,也可以更简单有效的实现:
JavaScript code
?
1
2
3
var  str =  "a1b2c3d4e5f6g7h8i9j0k" ;
var  msg = str.replace(/\D/g, '' ).split( '' );
alert(msg);


我也举一个奇淫巧技:

整数前补0

网上搜的笨方法:
JavaScript code
?
1
2
3
4
5
6
7
8
9
function  pad(num, n) {
   var  len = num.toString().length;
   while (len <n){
     num =  "0"  + num;
     len++;
   }
   return  num;
}
alert(pad(3,6));  //000003


奇淫巧计法1:
JavaScript code
?
1
2
3
4
function  pad(num, n) {
   return  (Math.pow(10,n)+num+ '' ).substr(1);   //缺点:位数长度有限,15位以内。
}
alert(pad(3,6));  //000003


奇淫巧计法2:(推荐)
JavaScript code
?
1
2
3
4
5
function  pad(num, n) {
    y= '00000000000000000000000000000' +num;  //爱几个0就几个,自己够用就行
    return  y.substr(y.length-n);
}
alert(pad(3,6));  //000003


129楼 lepharye
通过>>>取整

JavaScript code
?
1
2
var  test = 3.45;
alert(test>>>0);
转自: http://bbs.youkuaiyun.com/topics/330250800
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值