2017-04-04 84 views
0

我有一些對象數組喜歡這個parseInt對象數組中使用lodash或純javaScript的某些值?

{ 
    date: '1490547600000', 
    details: [ 
      { 
       time: '01.00 - 02.00', 
       title: 'go sleep', 
       location: 'bedroom' 
      }, 
       { 
       time: '08.30 - 09.30', 
       title: 'go to school', 
       location: 'my school' 
      } 
    ] 
} 

我想更改日期「1490547600000」爲int

{ 
    date: 1490547600000, 
    details: [ 
      { 
       time: '01.00 - 02.00', 
       title: 'go sleep', 
       location: 'bedroom' 
      }, 
       { 
       time: '08.30 - 09.30', 
       title: 'go to school', 
       location: 'my school' 
      } 
    ] 
} 

我學習lodash,我試圖找到一些解決辦法來解決它喜歡用_.map

但我仍然不明白它的概念。

我用lodash,因爲我想解決它最小編碼 但如果你有另一個javascript解決方案,請告訴我。

謝謝

+0

對象分配到一些變種(如:objVar的)現在設置objVar.data = parseInt(objVar.data) – vinox

+0

請分享您的代碼 – Rajesh

+0

您可以做一些像[this](https://jsfiddle.net/hcwrLdvp/) – George

回答

0

您不需要loadash將其轉換爲數字。您可以使用 date:Number('1490547600000');

你可以閱讀更多here

+0

他們沒有關於如何使用loadash將字符串轉換爲數字,他們正在討論如何使用loadash迭代他們的數組。 – George

+0

他明確表示,他只想將'1490547600000'的值轉換爲1490547600000,並在最後添加如果我們有另一個javascript解決方案(不使用loadash),我們應該讓他知道。 –

0

基礎上,在文檔https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/map#Using_map_to_reformat_objects_in_an_array

你可以嘗試像

//your array of objects 
var kvArray = [ 
{ 
    date: '1490547600000', 
    details: [ 
      { 
       time: '01.00 - 02.00', 
       title: 'go sleep', 
       location: 'bedroom' 
      }, 
      { 
       time: '08.30 - 09.30', 
       title: 'go to school', 
       location: 'my school' 
      } 
      ] 
}, {...\\other objects formatted same way}] 


var reformattedArray = kvArray.map(function(obj) { 
    var rObj = {}; 
    rObj[obj.date] = parseInt(obj.date); 
    return rObj; 
}); 
// rObj should return the contents of kvArray but with date being an int for all the objects 
// heres a fiddle https://jsfiddle.net/xkdbkgj9 
相關問題