如何使用javascript从数组中分离字母和数字
数组输入为如何使用javascript从数组中分离字母和数字,javascript,Javascript,数组输入为 var a =[1,'a',2,3,'e',4,'r']; 我尝试将这个数组转换为字符串,并检查字符串的长度,如下所示 我想将数组转换为 ['a','e','r',1,2,3,4] 这是正确的做法吗 var a=[1,'a',2,3,'e',4,'r']; var b=a.toString(); 控制台日志(b); var-num,alpha; 对于(变量i=0;i{ if(类型(当前)=“编号”) a_编号。推送(当前); 如果(当前类型)=“字符串”) 一个字推(当
var a =[1,'a',2,3,'e',4,'r'];
我尝试将这个数组转换为字符串,并检查字符串的长度,如下所示
我想将数组转换为
['a','e','r',1,2,3,4]
这是正确的做法吗
var a=[1,'a',2,3,'e',4,'r'];
var b=a.toString();
控制台日志(b);
var-num,alpha;
对于(变量i=0;i您可以执行以下操作:
var a=[1,'a',2,3,'e',4,'r'];
var a_word=[];
变量a_数=[];
a、 forEach(当前=>{
if(类型(当前)=“编号”)
a_编号。推送(当前);
如果(当前类型)=“字符串”)
一个字推(当前);
});
var结果=一个单词concat(一个数字);
控制台日志(结果)代码>您可以通过检查数字的增量对数组进行排序
var数组=[1,'a',2,3,'e',4,'r'];
排序((a,b)=>(a的类型=='number')-(b的类型=='number');
console.log(数组)代码>过滤器听起来是个不错的选择
var a=[1,'a',2,3,'e',4,'r'];
var newArr=[];
var num=a.filter(函数(num){
if(isNaN(num))newArr.push(num)
返回!isNaN(+num)
});
console.log([…newArr,…num]);//创建一个新数组
newArr=newArr.concat(num);//或重复使用
console.log(newArr)
//或者只是
console.log(a.sort());//将首先对数字进行排序
您也可以这样做:
const a=[1,'a',2,3,'e',4,'r']
常数b=a.reduce((附件,项目)=>{
如果(项目类型=‘编号’){
附件推送(项目)
}否则{
附件取消移位(项目)
}
返回acc
},[])。排序((a,b)=>a>b)
console.log(b)
您可以使用
设a=[1,'a',2,3,'e',4,'r'];
a、 排序((b,c)=>isNaN(c)-isNaN(b)| | String(b).localeCompare(String(c)))
控制台日志(a)
是否也应该按类型进行分隔或排序?您可以尝试按其ascii代码进行排序。append不是正确的javascript。你只需要使用一个过滤器或map@valli-您也要排序吗?i、 e.如果输入是array=[4,'a',2,3,'r',1,'e']代码>然后结果应该是['a','r','e',4,2,3,1]
或['a','e','r',1,2,3,4]
?非常感谢!!你是传奇人物。更简洁地说:array.sort((a,b)=>(+a===+a)-(+b==+b))代码>