Js笔试题之返回只包含数字类型的数组

如js123ldka78sdasfgr653 => [123,78,653]

一般做法

分析:

1.循环字符串每个字符,是数字的挑出来拼接在一起,不是数字的,就给他空的拼个逗号

2.将新字符串每一位转换为数组,再次遍历,存在的挑出来,即得到结果

var str="js123ldka78sdasfgr653";
var new_str="";
var arr=[];
var arr2=[];
for(var i=0;i<str.length;i++){
    var code=str.charAt(i).charCodeAt();
    if(code>=48&&code<=57){
	new_str+=str.charAt(i);
    }
    else{
	new_str+=",";
    }
}	
arr=new_str.split(",");        //不写分隔符就是整个字符串装进数组
for(var i=0;i<arr.length;i++){
    if(arr[i]){
	arr2.push(arr[i]);
    }
}
alert(arr2);

正则:

var str="js123ldka78sdasfgr653";
var re=/d+/g;
str=str.match(re);
alert(str);
原文地址:https://www.cnblogs.com/zhangwenkan/p/4213885.html