Javascript几个原创小技巧

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

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
【直流微电网】径向直流微电网的状态空间建模与线性化:一种耦合DC-DC变换器状态空间平均模型的方法 (Matlab代码实现)内容概要:本文介绍了径向直流微电网的状态空间建模与线性化方法,重点提出了一种基于耦合DC-DC变换器状态空间平均模型的建模策略。该方法通过对系统中多个相互耦合的DC-DC变换器进行统一建模,构建出整个微电网的集中状态空间模型,并在此基础上实施线性化处理,便于后续的小信号分析与稳定性研究。文中详细阐述了建模过程中的关键步骤,包括电路拓扑分析、状态变量选取、平均化处理以及雅可比矩阵的推导,最终通过Matlab代码实现模型仿真验证,展示了该方法在动态响应分析和控制器设计中的有效性。; 适合人群:具备电力电子、自动控制理论基础,熟悉Matlab/Simulink仿真工具,从事微电网、新能源系统建模与控制研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握直流微电网中多变换器系统的统一建模方法;②理解状态空间平均法在非线性电力电子系统中的应用;③实现系统线性化并用于稳定性分析与控制器设计;④通过Matlab代码复现和扩展模型,服务于科研仿真与教学实践。; 阅读建议:建议读者结合Matlab代码逐步理解建模流程,重点关注状态变量的选择与平均化处理的数学推导,同时可尝试修改系统参数或拓扑结构以加深对模型通用性和适应性的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值