下划线_.each迭代数组

时间:2015-04-16 16:33:52

标签: javascript underscore.js

我有这个变量并使用下划线我试图将结果映射到一个新数组。我试图迭代newarr的第一个值。现在我手动做,我尝试了不同的方法,但我没有做对。我希望能够迭代newarr的第一个值并得到[0]。

var stripped = _.map( newarr[0][0].split(","), function(s){ return parseFloat(s);});
var stripped2 = _.map( newarr[1][0].split(","), function(s){ return parseFloat(s);});
var stripped3 = _.map( newarr[2][0].split(","), function(s){ return parseFloat(s);});

2 个答案:

答案 0 :(得分:2)

有没有理由你不能在newarr上做一个循环?

var strippedarr = [];

for (int i = 0; i < newarr.length; i++) { strippedarr[i] = _.map(newarr[i][0].split(","), function(s){ return parseFloat(s); }); }

答案 1 :(得分:0)

这是你想要的吗?

var newarr = [ ["40.735641, -73.990568"],
               ["40.736484, -73.989951"],
               ["40.736484, -73.989951"] ];

var floatArr = _.map(newarr, function (coordsArr) { 
  var coords = coordsArr[0].split(',');
  return [ parseFloat( coords[0] ), parseFloat( coords[1] ) ];
})

console.log(floatArr);
// => [ [ 40.735641, -73.990568],
//      [ 40.736484, -73.989951],
//      [ 40.736484, -73.989951] ]

请注意,您可以在_.map行使用return,但由于总会有两个元素存在很多不必要的复杂性。