如何在javascript中从字符串构建数组?

Bwy*_*yss 2 javascript

我试图从看起来像这样的刺痛中获取一些值:

W1:0.687268668116, URML:0.126432054521, MH:0.125022031608, W2:0.017801539275, S3:0.00869514129605, PC1:0.00616885024382, S5L:0.0058163445156, RM1L:0.00540508783268, C2L:0.00534633687797, S4L:0.00475882733094, S2L:0.00346630632748
Run Code Online (Sandbox Code Playgroud)

我想创建所有键的数组和所有值的另一个数组,即[W1, URML, MH…] and [0.687268668116, 0.126432054521...] 我有这个技巧的片段,但只针对第一个值:

var foo = str.substring(str.indexOf(":") + 1);
Run Code Online (Sandbox Code Playgroud)

Flo*_*ent 7

使用split().
演示:http://jsfiddle.net/y9JNU/

var keys = [];
var values = [];

str.split(', ').forEach(function(pair) {
  pair = pair.split(':');
  keys.push(pair[0]);
  values.push(pair[1]);
});
Run Code Online (Sandbox Code Playgroud)

没有forEach()(IE <9):

var keys = [];
var values = [];
var pairs = str.split(', ');

for (var i = 0, n = pairs.length; i < n; i++) {
  var pair = pairs[i].split(':');
  keys.push(pair[0]);
  values.push(pair[1]);
};
Run Code Online (Sandbox Code Playgroud)