2017-04-04 64 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 
相关问题