2015-04-16 6 views
0

У меня есть эта переменная и с использованием подчеркивания. Я пытаюсь отобразить результат в новый массив. Я пытаюсь повторить первое значение newarr. Сейчас я делаю это вручную, я пробовал разные способы, но я не понимаю. Я хочу иметь возможность перебирать первое значение newarr и получать [0] за это.Underscore _.each итерация по массиву

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);}); 
+1

Как выглядит 'newarr'? –

+0

newarr = [["40.735641, -73.990568"] ["40.736484, -73.989951"] ["40.736484, -73.989951"]] – RFFD

ответ

2

Есть ли причина, по которой вы не можете просто сделать цикл на newarr?

var strippedarr = []; 

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

Большое спасибо !!!!!!!! Это сработало отлично !!!!!!! – RFFD

+0

Вы можете избавиться от этой функции в _.map и просто передать parseFloat в качестве второго параметра. –

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 линии, но так как там всегда будет два элемента, которые очень много ненужной сложности.

+0

Спасибо !!!! Он тоже работал! – RFFD

Смежные вопросы