在javascript中追加对象时for循环不起作用

在javascript中追加对象时for循环不起作用,javascript,arrays,json,loops,object,Javascript,Arrays,Json,Loops,Object,我正在尝试从数组中附加对象。我尝试循环遍历数组,但它只将数组的一个元素附加到对象。 小提琴: 编辑: var shers = {}; // the .pbgmain will return the following array. var all = [{sher: "some text"},{sher: "some text"},{sher: "some text"}]; //basically i want to c

我正在尝试从数组中附加对象。我尝试循环遍历数组,但它只将数组的一个元素附加到对象。 小提琴:

编辑:

    var shers = {};
// the .pbgmain will return the following array.
    var all = [{sher: "some text"},{sher: "some text"},{sher: "some text"}];
//basically i want to convert the above array into object.
    var data = $('.pbgmain').each(function(i) {
        datas = $(this).text().trim(); 
        all.push({sher: datas})  
        for(var i = 0; i < 10; i++) {
            shers = all[i];
        }
    });
var-shers={};
//.pbgmain将返回以下数组。
var all=[{sher:“一些文本”},{sher:“一些文本”},{sher:“一些文本”}];
//基本上我想把上面的数组转换成object。
变量数据=$('.pbgmain')。每个(函数(i){
数据=$(this.text().trim();
all.push({sher:datas})
对于(变量i=0;i<10;i++){
谢尔斯=所有[我];
}
});
.pbgmain
将返回以下数组

var all = [{sher: "some text"},{sher: "some text"},{sher: "some text"}];
你只需要这个():

如果您想更简洁,可以将其缩短为:


您一直在覆盖
shers
。你打算成为什么样的人?它的性质是什么?@trincot这些是乌尔都语诗集对联。它的属性将是sher的每一个单独的对联。为什么要精确地迭代
10次?如果少于10项怎么办?在
对象中“附加值”没有意义。
对象
仅包含键控属性(即命名属性)。我认为您误解了JavaScript的
对象
数组
类型的工作原理。@Dai数组包含10个元素。这就是我迭代的地方Git给了我undefined的cannot read属性,但问题是我不想要对象数组。我想要一个对象。@MaherAfrasiab除非您用原始HTML创建一个JSFIDLE或代码片段,以及显示您想要的输出类型的JSON示例,否则我无法进一步帮助您。这是FIDLE@MaherAfrasiab,您给出的示例为“
{sher:“要选择的文本”},{sher:“要选择的文本”},{sher:“要选择的某些文本“}
”无效。不能对不同的属性使用相同的名称(键):可以使用字符串数组、单独对象数组(其中每个对象都具有
sher
属性)或具有不同属性名称的单个对象。
const elements         = document.querySelectorAll( '.pbgmain' );
const elementArray     = Array.from( elements );
const elementTexts     = elementArray.map( e => e.textContent.trim() );
const asArrayOfObjects = elementTexts.map( text => ( { sher: text } ) );
console.log( asArrayOfObjects );
const asArrayOfObjects = Array.from( document.querySelectorAll( '.pbgmain' ) ).map( e => ( { sher: e.textContent.trim() } );
console.log( asArrayOfObjects );