Javascript 推送到一个对象中
Javascript push into an object
本文关键字:一个对象 Javascript 更新时间:2023-09-26
我已经尝试了一段时间,但无法得到它。
我有一段代码来创建对象的数组,如下所示:
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' } } ]
我想要的是一个这样的对象:
{
'886':
{ nickName: 'MOhan',
SocketId: '9AMRe2v2e-hWuMeBAAAC',
colorCode: '#d3af07',
userImage: 'avatar6.jpg' } ,
'172':
{ nickName: 'Anil',
SocketId: 'a5VU5pCzWecMHM2FAAAD',
colorCode: '#22b913',
userImage: 'avatar4.jpg' }
}
我应该对代码进行哪些更改。
很简单,对象在技术上不会被推送到,而是在该对象上定义新键。将数组切换为对象文字,只需向其添加键即可。
var allUsers = {};
function addObjectToObject(userData) {
//logic
allUsers[userData.userId] = newuserData;
}
相关文章:
- Javascript(Angular)从一个对象数组到第二个数组查找值
- javascript处理一个对象数组以获得一个新的对象数组
- javascript函数,它接受两个输入:一个对象和一个键,并返回对象中该键的相应值
- 将javascript对象(属性+值)合并到一个对象中
- 从 javascript 中的对象方法返回一个对象
- 用javascript创建另一个对象的实例
- 从javascript函数返回一个对象
- 为什么在Javascript中将一个对象分配给另一个变量也会更改初始对象
- 是否可以创建一个对象,该对象是另一个对象的子集,而不会丢失javascript中的引用
- 当一个对象与javascript画布中的另一个对象发生冲突时,如何停止该对象
- JavaScript:如何将“.bind()”“函数”到另一个对象
- Javascript,重复一个对象键N次,是N个它的值
- JavaScript:为什么 array.push() 附加两个对象而不是一个对象
- 通过另一个对象上的字符串值为 javascript 对象属性赋值
- 引用另一个对象javascript中的对象
- 如何删除上一页 .上一个对象?Javascript .prev().remove();.
- 访问数组中的对象,该对象是另一个对象Javascript的属性
- 使对象中的对象成为一个对象javascript
- 附加到一个对象- javascript
- 将一个对象分配给另一个对象 Javascript