将自动增量编号添加到For循环中的JSON对象

时间:2017-04-25 17:19:14

标签: javascript jquery json loops

我需要将var i需要附加到对象声明的左侧。我无法找到如何追加它。请帮助我摆脱错误。

如果有任何其他解决方案,我也会跟进。

我尝试过以下代码

<script type="text/javascript">
var text_count=5;
var textbox = new Object();
for (var i = 1; i<=text_count; i++)
    {
            textbox.meta_key_textbox='Meta Key';
            textbox.meta_key_value_textbox='Meta Value';
    };

    var textbox_string = JSON.stringify(textbox);
    alert(textbox_string);
</script>

我独自获得最后一个价值。但是我无法获得循环中的所有值。

但是当我手动执行此方法时,它可以正常工作。请澄清一下。

<script type="text/javascript">
 var text_count=5;
 var textbox = new Object();
   textbox.meta_key_textbox='Meta Key';
   textbox.meta_key_value_textbox='Meta Value';
   textbox.meta_key_textbox1='Meta Key One';
   textbox.meta_key_value_textbox1='Meta Value One';
   var textbox_string = JSON.stringify(textbox);
alert(textbox_string);
</script>

2 个答案:

答案 0 :(得分:-1)

在每次迭代中分配相同的值,请使用以下代码:

<script type="text/javascript">
var text_count=5;
var textbox = new Object();
for (var i = 1; i<=text_count; i++)
    {
            var text = "meta_key_textbox" + i;
            var value_text = "meta_key_value_textbox" + i;
            textbox.text='Meta Key';
            textbox.value_text='Meta Value';
    };

    var textbox_string = JSON.stringify(textbox);
    alert(textbox_string);
</script>

答案 1 :(得分:-1)

var text_count=5;
var textbox = new Object();
var arrKey = [];
var arrValue = [];
var values = ["one", "two", "three", "four"];

for (var i = 1; i<text_count; i++) {
  arrKey.push({key: "textbox.meta_key_textbox" + i, value: values[i-1]});
  arrValue.push({key: "textbox.meta_key_value_textbox" + i, value: values[i -1]});
}

textbox.meta_key_textbox='Meta Key';
textbox.meta_key_value_textbox='Meta Value';

for (var i = 1; i<text_count; i++)
{

        textbox[arrKey[i-1].key]= 'Meta Key ' + arrKey[i-1].value;
        textbox[arrValue[i-1].key]= 'Meta Value ' + arrValue[i-1].value;
};

var textbox_string = JSON.stringify(textbox);
alert(textbox_string);