是否可以打破“每个”迭代,追加或添加其中一个值,然后继续?
var aKeys = new Array(),
aValues = new Array(),
sArray = {};
$(input).each(function (index, element) {
var sKey = $(this).attr('name'),
sValue = $(this).val();
aKeys.push(sKey);
aValues.push(sValue);
});
如您所见,我首先创建了一些数组和一个名为“sArray”的空对象。然后我通过输入属性推送这些数组中的值。最后,我正在创建我的对象:
aKeys.forEach(function (v, j) {
sArray[v] = aValues[j];
});
return sArray;
但是这就是事情。我想在其中一个值中添加嵌套对象。我已将该对象存储在另一个变量中。有没有办法追加或添加它?
编辑:
我一直在看这些例子,也许我没有表达得很好。我已经创建了一个对象。我想做的是在我创建的这个对象的一个键中追加或存储另一个对象。
答案 0 :(得分:1)
sArray是一个对象,而不是一个数组。您不需要数组来构建对象。试试这个......
var sObj = {};
$("input").each(function (index, element) {
sObj[$(this).attr('name')] = $(this).val();
});
// Let's nest another object in there i guess...
var myObj = {"wut-wut": "in the butt"};
sObj.pickles = myObj;
console.log(sObj);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name=one value=1>
<input name=two value=2>
<input name=three value=3>
<input name=four value=4>
&#13;