2014-11-24 6 views
0

나는 이것을 잠시 동안 시도해 왔지만 그것을 얻을 수 없다.자바 스크립트가 객체에 푸시

var allUsers = new Array(); 
function addObjectToArray(userData){ 
    colorCode = '#'+Math.floor(Math.random()*16777215).toString(16); 
    userImage = "avatar"+Math.floor(Math.random()*11)+".jpg"; 
    newuserData = {}; 
    newuserData[userData.userID] = {"nickName":userData.nickName,"SocketId":socket.id,"colorCode":colorCode,"userImage":userImage}; 
    allUsers.push(newuserData); 
} 

그래서이 기능은 매번 그것이라고 배열과 두 번이 함수를 호출 한 후 새로운 객체를 추가합니다

나는 이런 식으로 뭔가되는 객체의 배열을 생성하는 코드 조각이

{ 
    '886': 
    { nickName: 'MOhan', 
     SocketId: '9AMRe2v2e-hWuMeBAAAC', 
     colorCode: '#d3af07', 
     userImage: 'avatar6.jpg' } , 
    '172': 
    { nickName: 'Anil', 
     SocketId: 'a5VU5pCzWecMHM2FAAAD', 
     colorCode: '#22b913', 
     userImage: 'avatar4.jpg' } 
} 
: 다른 PARAMS는 내가

[ { '886': 
    { nickName: 'MOhan', 
     SocketId: '9AMRe2v2e-hWuMeBAAAC', 
     colorCode: '#d3af07', 
     userImage: 'avatar6.jpg' } }, 
    { '172': 
    { nickName: 'Anil', 
     SocketId: 'a5VU5pCzWecMHM2FAAAD', 
     colorCode: '#22b913', 
     userImage: 'avatar4.jpg' } } ] 

무엇 내가 대신 원하는 것은이 같은 객체 뭔가이 같은 배열 뭔가를 얻을 수

코드를 어떻게 변경해야합니까?

+0

배열에서 각 개체를 가져올 수 있습니다. 왜 배열에 넣는 방식을 바꾸어야합니까? – Tom

답변

4

쉽게 개체를 밀어 넣을 수는 없지만 개체에 새 키를 정의 할 수 있습니다. 개체 리터럴에 대해 Array를 전환하고 키를 추가하기 만하면됩니다.

+0

거기에'newuserData'가 누락되지 않았습니까? – Dwza

+0

@Dwza 예, 아니요, 모든 논리를 의도적으로 생략했습니다. –

+0

오, 알겠습니다 ... '// 논리'주석을 실현하지 못했습니다 : D – Dwza

관련 문제