是否可以中断"each"迭代,将某些内容追加或添加到其中一个值,然后继续?



是否可以中断"每个"迭代,将某些内容附加到或添加到其中一个值中,然后继续?

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;

但事情是这样的。我想在其中一个值中添加一个嵌套对象。我已经将该对象存储在另一个变量中。有没有办法附加或添加它?

编辑:

我一直在看例子,也许我没有很好地表达自己。我已经创建了一个对象。我想做的是在我创建的这个对象的一个键中附加或存储另一个对象。

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>

相关内容

最新更新