我试图从动态生成的数值数组中获取连续值,并按顺序将这些连续值成对添加到一起。生成的数组将始终具有偶数个值。举个例子,让我们说数组出来了
myArray = [2, 23, 45, 128, 92, 3].
如何使用jQuery迭代生成的数组并获取这样的值?
val1 = myArray[0] + myArray[1];
val2 = myArray[2] + myArray[3];
val3 = myArray[4] + myArray[5];
数组是动态生成的,随着项目列表的增加或减少,我不想对现有的键/值进行硬编码。我需要提出一个公式,该公式将考虑序列对的未来加法或减法。
非常感谢任何帮助!
答案 0 :(得分:1)
var result=[];
for(var i=0,limit=myArray.length; i<limit; i+=2)
{
result[i]=myArray[i]+myArray[i+1];
}
答案 1 :(得分:0)
使用jQuery的.each(...)函数为你做一个魔术。
var val = 0;
var myArray = [2, 23, 45, 128, 92, 3];
$.each(myArray, function( index, value ) {
val = (index % 2 === 0 )? value : val + value;
if (index % 2 !== 0 )
console.log( val);
});
您可以检查偶数/奇数的索引值并在此处应用您的逻辑...
PS:以上内容将在浏览器的控制台框中显示输出。
答案 2 :(得分:0)
您不能使用这样的动态变量名称,请尝试
var myArray = [2, 23, 45, 128, 92, 3],
obj = {};
for (var i = 0; i < myArray.length / 2; i++) {
obj['val' + (i + 1)] = myArray[i * 2] + myArray[i * 2 + 1]
}
console.log(obj)
答案 3 :(得分:0)
我会这样做,
var newArry = [], tmp, myArray = [1,2,3,4,5];
myArray.forEach(function(v,i){
if(i%2>0){
newArry.push(tmp+v);
}
tmp = v;
});
console.log(newArry);