I am trying to create a Blackjack game and I am stuck at the part where I am dealing to the player. My function dealHands tallies the points like I want but it will not display the Value and Suit that I need. I feel like I am missing something but not sure what. Any help would be appreciated. So far I have tried to convert player[x].Hand.push(card) to a string but that just prints obj undefined and it also doesn't tally the score since it turns the property into a string.
var suits = ["Spades","Hearts","Diamonds","Clubs"];
var values = ["2","3","4","5","6","7","8","9","10","J","Q","K","A"];
var deck = new Array();
//creates players
var players = new Array();
function createPlayers(num) {
  players = new Array();
  for (var i = 1; i <= num; i++) {
    var hand = new Array();
    var player = { Name: 'Player ' + i, ID: i, points: 0, Hand: hand };
    players.push(player);
  }
}
//Creates deck
function createDeck(x) {
    deck = new Array();
    for (var i = 0; i < values.length; i++) {
        for (var x = 0; x < suits.length; x++) {
            var weight = parseInt(values[i]);
            if (values[i] == "J" || values[i] == "Q" || values[i] == "K") {
                weight = 10;
            } if (values[i] == "A") {
                weight = 11;
            }
            var card = { Value: values[i], Suit: suits[x], Weight: weight };
            deck.push(card);
        }
    }
}
//shuffles
    function shuffle() {
        for (var i = 0; i < 1000; i++) {
            var location1 = Math.floor((Math.random() * deck.length));
            var location2 = Math.floor((Math.random() * deck.length));
            var tmp = deck[location1];
            deck[location1] = deck[location2];
            deck[location2] = tmp;
        }
    }
//starts the game
function startblackjack(num){
  currentPlayer = 0;
  createDeck();
  shuffle();
  createPlayers(num);
  dealHands()
  
  console.log(players)
  console.log(deck)
}
//Deals
function dealHands(){
  for(var i =0; i<2;i++){
    for( var x = 0; x<players.length; x++){
      var card = deck.pop();
      players[x].Hand.push(card);
      updatePoints();
    }
  }
}
//updatePoints
function updatePoints(){
  for (var i = 0; i<players.length;i++){
    getPoints(i);
  }
}
//getspoints
function getPoints(player){
  var points = 0;
  for(var i = 0; i < players[player].Hand.length; i++) {
    points += players[player].Hand[i].Weight;
  }players[player].points = points;
  return points;
}
startblackjack(1)
 
    