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();
console.log(b);
var num, alpha;
for (var i = 0; i < b.length; i++) {
  var letters = /[A-Za-z]+$/;
  var numbers = /[0-9]/;
  if (b.charAt(i).match(numbers))
    num.append(b.charAt(i));
  else if (b.charAt(i).match(letters))
    alpha.append(b.charAt(i));
}

console.log(alpha);
console.log(num);

最佳答案

您可以通过检查数字的增量对数组进行排序。

var array = [1, 'a', 2, 3, 'e', 4, 'r'];

array.sort((a, b) => (typeof a === 'number') - (typeof b === 'number'));

console.log(array);

关于javascript - 如何使用javascript从数组中分离字母和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52775856/

相关文章:

javascript - 计算 header 类之前和之后的所有 Item 类元素

javascript - 难以使用全局变量和 $.getScript

javascript - ActivatedRoute 的 Angular promise 不适用于 Typescript 等待

javascript - 有没有办法为主页预加载完整的背景封面图片

javascript - Angular 6 : unable to make http request

javascript - react 中的异步功能不会对状态变化使用react

javascript - 当复选框悬停时显示工具提示文本

javascript - 将 PHP 数组值插入 JavaScript 数组?

JavaScript - 计算两个日期之间的差异(以年、日、小时或小于一小时为单位)

javascript - 添加新的文件上传字段