Javascript 更改对象数组中的元素

Javascript 更改对象数组中的元素,javascript,arrays,angularjs,object,Javascript,Arrays,Angularjs,Object,我有以下形式的数据: data = [ { "date":"2018-05-18T-6:00:00.000Z", "something":"something1", "something":"something1" }, { "date":"2018-05-19T-6:00:00.000Z", "something":"something2", "something":"someth

我有以下形式的数据:

data = [
    {
        "date":"2018-05-18T-6:00:00.000Z",
        "something":"something1",
        "something":"something1"
    },
    {
       "date":"2018-05-19T-6:00:00.000Z",
       "something":"something2",
       "something":"something2"
    }
]
如何获取对象中的第一个元素,编辑它们,然后将它们替换回对象中

所以应该是这样的

 data = [
    {
        "date":"2018-05-18",
        "something":"something1",
        "something":"something1"
    }
    {
        "date":"2018-05-19",
        "something":"something2",
        "something":"something2"
    }
]
var date = [];
const getSessions = () => {
 loginService.getUser().then((response) => {
  var user_id = response.data.id;
  console.log("getUser returning this => ", response.data);
  loginService.getUserSessions(user_id).then((response) => {
    $scope.sessions = response.data;

    for (var i = 0; i < $scope.sessions.length; i++){
      date.push($scope.sessions[i].next_class.slice(0,10));
  };

  $scope.sessions.push(date);
  console.log($scope.sessions);
我试过这样的东西

 data = [
    {
        "date":"2018-05-18",
        "something":"something1",
        "something":"something1"
    }
    {
        "date":"2018-05-19",
        "something":"something2",
        "something":"something2"
    }
]
var date = [];
const getSessions = () => {
 loginService.getUser().then((response) => {
  var user_id = response.data.id;
  console.log("getUser returning this => ", response.data);
  loginService.getUserSessions(user_id).then((response) => {
    $scope.sessions = response.data;

    for (var i = 0; i < $scope.sessions.length; i++){
      date.push($scope.sessions[i].next_class.slice(0,10));
  };

  $scope.sessions.push(date);
  console.log($scope.sessions);
var日期=[];
const getSessions=()=>{
loginService.getUser()。然后((响应)=>{
var user_id=response.data.id;
log(“getUser returning this=>”,response.data);
loginService.getUserSessions(用户id)。然后((响应)=>{
$scope.sessions=response.data;
对于(变量i=0;i<$scope.sessions.length;i++){
推送($scope.sessions[i].next_class.slice(0,10));
};
$scope.sessions.push(日期);
log($scope.sessions);

这会缩短日期,但不会替换对象中的原始日期。

您可以执行以下操作-

var数据=[
{
“日期”:“2018-05-18T-6:00:00.000Z”,
“某物”:“某物1”,
},
{
“日期”:“2018-05-19T-6:00:00.000Z”,
“某物”:“某物2”
}
]
data.forEach((记录)=>{
record.date=record.date.split(“T”)[0]
})
console.log(数据);
您也可以这样做

`


`

data.forEach(e=>e.date=e.date.substring(0,10));
data是一个数组。首先访问数组元素。像data[0]一样,data[1]…现在这些元素是对象文本,您可以使用key访问它们。首先,您可以尝试data[0][“date”]或data[0].DateMap的运行速度是否比a for each快?创建新数组而不是按要求修改当前数组是否有好处?您的答案是可行的,但使用子字符串会更快。无需使用splitYes创建另一个数组,OP可以在那里有自定义逻辑。我添加的代码片段只是为了举例说明。我希望我的答案不是votOP的问题是更新数组中的对象元素,并解决该问题。forEach中的逻辑可以根据需要更改。