Javascript concat 不适用于 JSON 对象

Javascript concat is not working on JSON objects

本文关键字:JSON 对象 适用于 不适用 concat Javascript      更新时间:2023-09-26

我试图使用 .concat() 连接两个对象,但它返回

tiles.concat 不是一个函数

这是代码(角度应用程序和咖啡脚本):

  $scope.tiles = new UI();
  $scope.tiles.loadUITiles();
  console.log($scope.tiles);
  $scope.rooms = new RoomData;
  $scope.rooms.load();
  buildSavedRoomsScope = (tiles,rooms) ->
    console.log "tiles: " + tiles + " ||| Rooms:" + rooms
    savedRooms = tiles.concat(rooms)
    i = 0
    while  i < savedRooms.length
      room = savedRooms[i]
      room.saved = !room.hasOwnProperty('saved')
      room.uid = (if room.saved then 'saved-' else 'notSaved-') + room.id
      i++
    room

  $scope.savedRooms = buildSavedRoomsScope($scope.tiles, $scope.rooms)
  console.log $scope.savedRooms

我不明白我做错了什么,因为在我看来就像这样

编辑

就像在示例中一样,我的 JSON 数据是一个对象数组(与上面示例的结构相同)

是的,对象没有"concat"方法,它只存在于 Array.prototype 中。相反,您可以使用angular.extend方法。请参阅文档:https://docs.angularjs.org/api/ng/function/angular.extend