如何更新数组中的对象

时间:2018-10-10 08:46:59

标签: javascript angularjs

这是我的数组

$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()来做到这一点吗?

4 个答案:

答案 0 :(得分:1)

您可以使用以下代码-

    $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"}
]

答案 1 :(得分:0)

为什么.value之后有一个tooltipsArray键?

您已将数组分配给tooltipsArray,因此,除非涉及到代理服务器,否则期望通过$scope.tooltipsArray访问数组。

要修复此问题,只需删除.value

var vector = $scope.tooltipsArray.map(function (el) { return new Date(el.date).toLocaleDateString(); });

答案 2 :(得分:0)

1-删除.value为什么要放在第一位?

2-如果您只想更改日期,则需要更改对象内部的日期,然后返回el而不是date

    var vector = $scope.tooltipsArray.map(function(el) {
     el.date = new Date(el.date).toLocaleDateString();
     return el;
    });

答案 3 :(得分:0)

map函数的作用是依次遍历数组元素并运行回调函数,因此您要做的是更新整个对象或更新一个条目

el.date =新的Date(el.date).toLocaleDateString();