Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:将动态生成的值分配给新数组_Javascript_Arrays_Loops - Fatal编程技术网

Javascript:将动态生成的值分配给新数组

Javascript:将动态生成的值分配给新数组,javascript,arrays,loops,Javascript,Arrays,Loops,我在3个数组中循环,在每个数组中查找“actionTimings”,并将actionTimings值相加(值都是数字)。 如何将获得的3个值分配给新数组?这是我到目前为止所拥有的 $.each(dinnerComponents, function(intIndex, component) { totalCookTime = 0; for ( var i = 0; i < component.actionTimings.length; i++ ) { tota

我在3个数组中循环,在每个数组中查找“actionTimings”,并将actionTimings值相加(值都是数字)。 如何将获得的3个值分配给新数组?这是我到目前为止所拥有的

$.each(dinnerComponents, function(intIndex, component) {
    totalCookTime = 0;
    for ( var i = 0; i < component.actionTimings.length; i++ ) {
        totalCookTime += component.actionTimings[i];
    }
});
但此数组包含3组逗号(,)。似乎逗号的数量=totalCookTime-1。与逗号分隔的值有关吗?恐怕我对数组的了解有点有限

感谢您的帮助。

您可以使用数组方法:

var grandTotals=[];//将包含每个“dinerComponent”的小计
$。每个(晚餐组件、功能(索引、组件){
var totalCookTime=0;
对于(变量i=0;i
您可以使用数组方法:

var grandTotals=[];//将包含每个“dinerComponent”的小计
$。每个(晚餐组件、功能(索引、组件){
var totalCookTime=0;
对于(变量i=0;i
您的问题本质上是新数组(n)生成了一个包含n个“插槽”的数组

在任何情况下,最好使用jQuery的“映射”方法,将一个数组转换为另一个数组:

var totalCookTime = $(dinnerComponents).map(function (component) {
    var cookTime = 0;
    $(component.actionTimings).each(function (index,timing) {
        cookTime += timing;
    })
    return cookTime;
}).get();

(final.get()返回一个实际数组,而不是一个行为类似数组的特殊jQuery对象。)

您的问题本质上是新数组(n)生成了一个具有n个“插槽”的数组

在任何情况下,最好使用jQuery的“映射”方法,将一个数组转换为另一个数组:

var totalCookTime = $(dinnerComponents).map(function (component) {
    var cookTime = 0;
    $(component.actionTimings).each(function (index,timing) {
        cookTime += timing;
    })
    return cookTime;
}).get();
(final.get()返回实际数组,而不是行为类似数组的特殊jQuery对象。)

var totalCookTime = $(dinnerComponents).map(function (component) {
    var cookTime = 0;
    $(component.actionTimings).each(function (index,timing) {
        cookTime += timing;
    })
    return cookTime;
}).get();