javascript - 循环并将对象插入数组

标签 javascript jquery

HTML

<div class="row">
  <div class="col-xs-5 stateName">Kuala Lumpur</div>
  <div class="col-xs-7"><input id="1" placeholder="0.00" type="text"/></div>
</div>

<div class="row">
  <div class="col-xs-5 stateName">Kuala Kangsar</div>
  <div class="col-xs-7"><input id="2" placeholder="0.00" type="text"/></div>
</div>

我的JS

var stateArr = [],
    tempObj = {};

$('.stateName').each(function(){
  tempObj.id = $(this).next('div').find('input').attr('id');
  tempObj.name = $(this).text();                
  stateArr.push(tempObj);
});
console.log(stateArr)

我的结果都是 Kuala Kangsar ,知道我的循环出了什么问题吗?当我将对象插入循环中的数组时,我认为我正确地完成了循环?

最佳答案

在循环内声明对象tempObj={}

           var stateArr = [];
            $('.stateName').each(function(){
               var tempObj = {};  // declare obj inside loop
                tempObj['id'] = $(this).next('div').find('input').attr('id');
                tempObj['name'] = $(this).text();

                stateArr.push(tempObj);
            });

            console.log(stateArr);

<强> Demo

关于javascript - 循环并将对象插入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31605958/

相关文章:

javascript - 打开嵌套导航器的父级

Jquery ajax 搜索去抖

php - 将 PHP 设置传递给 Javascript 的最佳方式是什么?

javascript - Jquery 搜索字符串,以逗号分隔

javascript - 我可以使用 JavaScript SVG 库将 SVG 图像显示为 div 背景吗?

javascript - 如何将 JSON 数据(PHP 变量中)转换为 Jquery 数组?

javascript - 从 package.json 中删除包后 package-lock.json 没有更新?

javascript - 如何仅在使用 jQuery 单击 loadmore 按钮时才使用 slipTo() ?

javascript - 使用 Mongoose 的 promise 时遇到麻烦

jquery - 如何使用 JQuery 或 CSS 在 IE、chrome 等按钮上闪烁文本