jQuery , "zip".
a b (, , ). fn, . , jQuery .
function zip (a, b, fn) {
var len = Math.max(a.length, b.length)
var result = []
if (fn) {
for (var i = 0; i < len; i++) {
result.push(fn(a[i], b[i]))
}
} else {
for (var i = 0; i < len; i++) {
result.push([a[i], b[i]])
}
}
return result
}
:
var z = zip([1,2,3], ['a','b'])
for (var i = 0; i < z.length; i++) {
var elm = z[i]
var a = elm[0]
var b = elm[1]
alert(a + "-" + b)
}
fn:
zip([1,2,3], ['a','b'], function (a, b) {
alert(a + "-" + b)
})
jQuery'ish:
var total = 0
zip(
$('[name="quantity\\[\\]"]'),
$('[name="price\\[\\]"]'),
function (a, b) {
var qty = parseInt($(a).val(), 10) || 0
var price = parseInt($(b).val(), 10) || 0
total += qty * price
})
.
user166390