简单的javascript问题:
我有一个数组 (50=50; 49=49; 143=143; 4005=4005; ... )
,我想变成 (50; 49; 143; 4005; ...)。
在 name=value 对中,名称将始终与值相同。
它总是一个数字(但长度不同)。
我只是无法使用 .split 解决它
谢谢
简单的javascript问题:
我有一个数组 (50=50; 49=49; 143=143; 4005=4005; ... )
,我想变成 (50; 49; 143; 4005; ...)。
在 name=value 对中,名称将始终与值相同。
它总是一个数字(但长度不同)。
我只是无法使用 .split 解决它
谢谢
假设你的意思是你有一个这样的数组:
var arr = ['50=50;','49=49;','143=143;','4005=4005;'];
然后,您可以split
这样使用:
var newArr = [], ii;
for (ii = 0; ii < arr.length; ii += 1) {
newArr.push(parseInt(arr[ii].split('=')[0], 10));
}
这将导致newArr
等于:
var newArr = [50, 49, 143, 4005];
工作方式split
是将字符串划分为基于分隔符字符串的数组。在这个例子中,我们使用'='
了分隔符,所以我们最终得到这样的数组:
['50', '50;']
['49', '49;']
// etc.
然后,索引到第一个元素并将其传递给以parseInt
产生一个数字,然后push
到一个只有数字元素的新数组上。
这是一个工作示例。
如果你不是从一个实际的 JavaScript 数组开始,而是一个你想转换成数组的字符串,那么在前面的步骤之前添加这个步骤以获得原始数组:
var str = '(50=50; 49=49; 143=143; 4005=4005;)';
var arr = str.replace(/\(|\)|;/g, '').split(' ');