javascript - 数组数组中未定义的属性

标签 javascript highcharts

我正在处理数组的数组,我想测试每个第一个值,但我得到的只是未捕获的类型错误:无法读取未定义的属性“0”。 请帮忙!

 function getManualDesactivation(data){

var tab=[];
var l=data.length ; 
var listeService= getCategorie(data);
var resultat=[];

for(var i=0; i<l;i++){
        if (data[i][1] == "DESACTIVATION") {
            var subtab=[];
            subtab.push(data[i][0]);
            subtab.push(data[i][2]);
        tab.push(subtab);


        }       
}

if (tab.length > 1) {
    var j = 0;
    for (var i = 0; i < listeService.length; i++) {

        if (listeService[i] == tab[j][0]) {<---- here is the exception
            resultat.push(tab[j][1]);

            j++;
        } else {

            resultat.push(0);
            j++;
        }

    }
}

最佳答案

该错误是由于尝试访问不存在的变量的 0 索引引起的。

为了确保您正在检查定义值的索引,您可以编写:

    if (tab[j] && listeService[i] == tab[j][0]) {
        resultat.push(tab[j][1]);

        j++;
    } else {

        resultat.push(0);
        j++;
    }

关于javascript - 数组数组中未定义的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30528233/

相关文章:

javascript - 如何禁用 1 个按钮但保持其他按钮启用

highcharts - 如何将背景图像(图案)添加到 highchart 柱形图?

javascript - Highcharts 分组类别数据 csv

javascript - 标志堆栈距离不起作用

javascript - 根据动态生成的复选框多次显示相同的 div

javascript - 带有集群和过滤器复选框的 Mapbox 个性化图标

javascript - 将数组转换为逗号分隔的字符串

javascript - 如何移动旋转木马顶部的 react 多旋转木马自定义按钮?

c# - 使用 Controller 返回的值填充图表

javascript - 如何将文本标签添加到 Highcharts 中的数字 x 轴