[英]How to Update an object in an array
这是我的数组
$scope.tooltipsArray = [
{
date: 2018-10-10T07:03:43.835Z,
text: 'name1'
},
{
date: 2018-09-29T18:30:00.000Z,
text: 'name2'
}
];
我该如何将日期更新为语言环境日期格式。
$scope.tooltipsArray = [
{
date: Wed Oct 10 2018 14:05:27 GMT+0530 (India Standard Time),
text: 'name1'
},
{
date: Sun Sep 30 2018 00:00:00 GMT+0530 (India Standard Time),
text: 'name2'
}
];
我已经使用map()来做到这一点。 但这不起作用
var vector = $scope.tooltipsArray.map(function (el) { return new Date(el.date).toLocaleDateString(); });
谁能告诉我如何使用JavaScript中的map()
执行此操作?
您可以使用以下代码-
$scope.tooltipsArray = [
{
date: "2018-10-10T07:03:43.835Z",
text: 'name1'
},
{
date: "2018-09-29T18:30:00.000Z",
text: 'name2'
}
];
var vector = $scope.tooltipsArray.map(function(el) {return { 'date':new Date(el.date).toString(),'text':el.text}});
console.log(vector);
输出如下:
[
{date: "Wed Oct 10 2018 12:33:43 GMT+0530 (India Standard Time)", text: "name1"}
{date: "Sun Sep 30 2018 00:00:00 GMT+0530 (India Standard Time)", text: "name2"}
]
为什么在tooltipsArray
之后有一个.value
键?
您$scope.tooltipsArray
数组分配给tooltipsArray
,因此,除非涉及到代理,否则应期望通过$scope.tooltipsArray
访问数组。
要修复它,只需删除.value
。
var vector = $scope.tooltipsArray.map(function (el) { return new Date(el.date).toLocaleDateString(); });
1-删除.value
为什么存在?
2-您需要更改对象内部的日期,然后只需要更改日期,然后返回el
而不是date
,同样:
var vector = $scope.tooltipsArray.map(function(el) {
el.date = new Date(el.date).toLocaleDateString();
return el;
});
map函数要做的是一个接一个地遍历数组元素并运行回调函数,因此您要做的就是更新整个对象或更新一个条目
el.date =新的Date(el.date).toLocaleDateString();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.