拆分并排序此数组

时间:2017-03-13 15:31:52

标签: javascript arrays string split numbers

我需要帮助编写一个脚本,该脚本将采用以下数组['James',1,'sam', 16,84,'mason',197]并将所有数字放入数字array,并将所有名称放入名称array。每个阵列都是有序的。

  

输出:数字[1,16,84,197]名称[' james',' sam',' mason']

3 个答案:

答案 0 :(得分:0)

由于你没有指定编程语言,我推荐使用python,因为它是最容易实现的。我还认为16,84是一个16.84的浮点数。这也只有在数组格式为[...,name,number,...]

时才有效
a = ['james', 1, 'sam', 16.84, 'mason', 197]
names = []
numbers = []
for i in range(len(a)//2):
    names += [a[i*2]]
    numbers += [a[i*2+1]]

其中a[i*2]是当前名称,a[i*2+1]是当前号码。

答案 1 :(得分:0)

使用Python我会做以下事情:

array = ['james',1,'sam', 16, 84,'mason',197]
names = [s for s in array if isinstance(s, basestring)]
numbers = [i for i in array if isinstance(i, int)]

我猜测列表中的所有数字都是整数。如果您有任何类型的数字(int,long,float,...),您可以执行以下操作:

numbers = [i for i in array if isinstance(i, (int, long, float, complex))]

答案 2 :(得分:0)

var name = [], numbers = [];
var array = ['james',1,'sam', 16, 84,'mason',197];

array.forEach(function(item){
 isNaN(item) ? name.push(item) : numbers.push(item);
});