0

下面的示例代码混合使用了 razor 和 Javascript。RenderChart 函数接受日期。dates var 返回一个日期数组。我想知道如何检查所有组合的日期数组,看看它们中的任何一个是否包含任何项目,或者在这种情况下是日期字符串。

foreach (MeasurementTypeGroup group in Model.MeasurementTypeGroups){
    var dates =  @(Html.Raw(dates)); // dates returns []

        RenderChart( dates);

        console.log(dates); //console would display something like " [] [] [] or [] [3/2/12] []
}

最初我使用 if 条件来检查长度

if(dates.length === undefined || dates.length === 0) {
    //do something 
}

这部分有效,但它在 foreach 循环中的每次迭代而不是所有日期数组的总数上都这样做。我猜我需要返回另一个变量,然后将一个变量的内容推送到另一个变量中,但我在弄清楚如何执行此操作时遇到了问题。谢谢你的帮助!

4

1 回答 1

1

您可以使用 concat 将所有数组组合成一个数组。 http://www.w3schools.com/jsref/jsref_concat_array.asp

var allDates = []

foreach (MeasurementTypeGroup group in Model.MeasurementTypeGroups){
    var dates =  @(Html.Raw(dates)); // dates returns []
    allDates.concat(dates);
}

RenderChart(allDates);
于 2013-08-25T06:52:27.763 回答