Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将整数数组映射到对象数组_Javascript_Arrays_Multidimensional Array_Momentjs_Lodash - Fatal编程技术网

Javascript 将整数数组映射到对象数组

Javascript 将整数数组映射到对象数组,javascript,arrays,multidimensional-array,momentjs,lodash,Javascript,Arrays,Multidimensional Array,Momentjs,Lodash,我有一个嵌套的对象数组,需要在其中格式化每个对象中的属性 const myMap = { '1': [ { date: '2016-03-10T00:00:00', location: 'NV' }, { date: '2016-03-10T00:00:00', location: 'WV' }, { date: '2016-03-10T00:00:00', location: 'CA' } ], '2': [ { date: '2016-03-10T

我有一个嵌套的对象数组,需要在其中格式化每个对象中的属性

const myMap =  { 
  '1':
   [ { date: '2016-03-10T00:00:00', location: 'NV' },
     { date: '2016-03-10T00:00:00', location: 'WV' },
     { date: '2016-03-10T00:00:00', location: 'CA' } ],
  '2':
   [ { date: '2016-03-10T00:00:00', location: 'NJ' },
     { date: '2016-03-10T00:00:00', location: 'PA' } ],
  '3':
   [ { date: '2016-03-10T00:00:00', location: 'WA' },
     { date: '2016-03-10T00:00:00', location: 'NH' },
     { date: '2016-03-10T00:00:00', location: 'CA' } ] 
}
我目前使用lodash和moment.js编写了这段代码

var _ = require('lodash')
var moment = require('moment')

_.map(myMap["date"], (a) => { moment(a).format('DD MMM YYYY') })
console.log(myMap)
// []

它当前返回一个空数组,如何在不更改格式的情况下格式化每个日期?

由于您处理的是
对象,并且希望更改其中的值,因此需要使用Lodash的
.mapValues()
函数(
.map()
用于数组)

constmymap={
'1':
[{日期:'2016-03-10T00:00:00',地点:'NV'},
{日期:'2016-03-10T00:00:00',地点:'WV'},
{日期:'2016-03-10T00:00:00',地点:'CA'}],
'2':
[{日期:'2016-03-10T00:00:00',地点:'NJ'},
{日期:'2016-03-10T00:00:00',地点:'PA'}],
'3':
[{日期:'2016-03-10T00:00:00',地点:'WA'},
{日期:'2016-03-10T00:00:00',地点:'NH'},
{日期:'2016-03-10T00:00:00',地点:'CA'}]
};
函数格式化日期(arr){
return u.map(arr,formattate);//使用formattate映射数组的每个元素
}
函数formattate(data){//将数据复制并格式化到新对象以进行映射
让formattedData={};
formattedData.date=时刻(data.date).format('DD-MMM-YYYY');
formattedData.location=data.location;
返回格式化数据;
}
让result=\ mapValues(myMap,formatDates)//迭代对象中的每个键并更新值
控制台日志(结果)

由于您正在处理一个
对象,并且希望更改其中的值,因此需要使用Lodash的
.mapValues()
函数(
.map()
用于数组)

constmymap={
'1':
[{日期:'2016-03-10T00:00:00',地点:'NV'},
{日期:'2016-03-10T00:00:00',地点:'WV'},
{日期:'2016-03-10T00:00:00',地点:'CA'}],
'2':
[{日期:'2016-03-10T00:00:00',地点:'NJ'},
{日期:'2016-03-10T00:00:00',地点:'PA'}],
'3':
[{日期:'2016-03-10T00:00:00',地点:'WA'},
{日期:'2016-03-10T00:00:00',地点:'NH'},
{日期:'2016-03-10T00:00:00',地点:'CA'}]
};
函数格式化日期(arr){
return u.map(arr,formattate);//使用formattate映射数组的每个元素
}
函数formattate(data){//将数据复制并格式化到新对象以进行映射
让formattedData={};
formattedData.date=时刻(data.date).format('DD-MMM-YYYY');
formattedData.location=data.location;
返回格式化数据;
}
让result=\ mapValues(myMap,formatDates)//迭代对象中的每个键并更新值
控制台日志(结果)