2015-04-16 68 views
0

我正在尝试使用下划线和主干创建一个对象。我目前有一个对象数组,里面有另一个对象和一组数据的记录。下划线迭代javascript

数据[0]包含位置的名称,而 数据[2]包含该位置

data: Array[3] 0: Objectcol_id: "4" data: "W Hotel Union 
Square" __proto__: Object1: Object2: Objectcol_id: "13"data: "40.736638, -73.988396" 

要获得的坐标和他们推到一个新的阵列我使用下面的坐标功能:

var newarr = _.map(rawData, function (a) { return [a.records[0].data[2].data] }); 

然后我分割坐标数组,并创建一个对象与我设置坐标的键值对。

var newnewarr = []; 

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

function longlat(lat, long) { 
    this.Latitude = lat; this.Longitude = long; 
}; 

var coordinates = []; 

for (i = 0; i < newnewarr.length; i++) { 
    coordinates[i] = new longlat(newnewarr[i][0], newnewarr[i][1]); 
    } 

我想要现在做的,但我有一个困难时期试图创建一个对象,如下所示:

newarr = [ { 
    latitude: 40.736638, 
    longitude: -73.988396, 
    title: "W hotel Union Square" 
    }, 
{ 
    latitude: 40.736638, 
    longitude: -73.988396, 
    title: "Union Square Park" 
    }, 

我的问题是如何在创建这个使用我所拥有的对象数组?我试着开始迭代数据对象,但我很难做到这一点。它说数据[2],id喜欢迭代数据[0,2]以获得这些值,然后将它们推送到一个对象。希望这是明确的!

var newarr = _.map(rawData, function (a) { return [a.records[0].data[2].data] }); 

回答

0

您可以用第二_.map()调用轻松地做到这一点,就像这样:

var rawData = [<your raw data here>]; 

var tempDataArray = _.map(rawData, function (a) { return [a.records[0]] }); 

var finalDataArr = tempDataArray.map(function(d) { 
    var tempCoordinatesArray = d[2].data.split(","); 

    return { 
     latitude: tempCoordinatesArray[0], 
     longitude: tempCoordinatesArray[1], 
     title: d[0], 
    } 
}); 

console.log(finalDataArr); 

或者,如果你想这样做在一个步骤:

var rawData = [<your raw data here>]; 

var finalDataArr = rawData.map(function(d) { 
    var tempData = d.records[0]; 
    var tempCoordinatesArray = tempData[2].date.split(","); 

    return { 
     latitude: tempCoordinatesArray[0], 
     longitude: tempCoordinatesArray[1], 
     title: tempData[0], 
    } 
}); 

console.log(finalDataArr); 

PS尝试为你的阵列选择更好的名字!

+0

非常感谢你!肯定会对我的数组命名约定起作用。这工作完美.. :) – RFFD