【发布时间】:2015-09-11 02:45:12
【问题描述】:
我有一个对象数组,想将它们的值插入到一组输入中。我认为使用 jQuery 的 val() 在几个 for 循环中大量分配这些值,但它只返回两个对象的最后一个值。我究竟做错了什么?更好的是,有没有更好的方法来做到这一点而不必循环 3 次?
$(function() {
var arr = [{v1: 1, v2: 2, v3: 3, v4: 4}, {v1: 5, v2: 6, v3: 7, v4: 8}];
for (var i = 0; i < arr.length; i++) {
for (key in arr[i]) {
$('input').val(function(index) {
return arr[i][key]
});
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<input type="text" />
<input type="text" />
<input type="text" />
<input type="text" />
</div>
<div>
<input type="text" />
<input type="text" />
<input type="text" />
<input type="text" />
</div>
【问题讨论】:
-
假设
arr的结构不能改变是否正确? -
正确。我正在从 API 中检索这些对象,但为了演示,这里硬编码了一个小数组。
标签: javascript jquery loops object key-value