Javascript add properties with the same name to an object - Stack Overflow

var elements = document.getElementsByClassName("someClass");var obj = {};for (var i = 0; i <

    var elements = document.getElementsByClassName("someClass");
    var obj = {};
    for (var i = 0; i < elements.length; i++){
        obj.userId = elements[i].id 
    } 

// output: obj = {userId: 1, userId: 2, userId: 3.....etc}

Is it possible in some way? Thanks.

    var elements = document.getElementsByClassName("someClass");
    var obj = {};
    for (var i = 0; i < elements.length; i++){
        obj.userId = elements[i].id 
    } 

// output: obj = {userId: 1, userId: 2, userId: 3.....etc}

Is it possible in some way? Thanks.

Share Improve this question asked Dec 9, 2015 at 10:06 Serhio g. LazinSerhio g. Lazin 9,6526 gold badges27 silver badges33 bronze badges 4
  • I think you can not use same key, it will override. obj["userId"] = elements[i].id ; – Shubham Commented Dec 9, 2015 at 10:07
  • it is not possible in an object. please use an array for this purpose like ` [{userId: 1}, {userId: 2}, {userId: 3}]`. – Nina Scholz Commented Dec 9, 2015 at 10:08
  • key name of same object must be unique – Anik Islam Abhi Commented Dec 9, 2015 at 10:08
  • So answer is "not possiple". You could say obj ['userId'+i]=elements [i].id – el3ien Commented Dec 9, 2015 at 10:21
Add a ment  | 

2 Answers 2

Reset to default 4

keys in Object must be unique, you can try use Array, like this

var obj = [];
var data = {};
for (var i = 0; i < elements.length; i++) {
   data = {
     userId: elements[i].id 
   };
   obj.push(data);
} 

// [ {userId: 1}, {userId: 2} ... ] 

The JSON RFC says "the names within an object SHOULD be unique" - see here for more info however should your object have a duplicate key the last occurrence will be used.

An array would be a better solution for your data.

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744662688a4586555.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信