繁体   English   中英

如何更新数组中的对象

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM