未捕获的TypeError:无法设置未定义的属性“ 0”-Javascript

时间:2018-09-08 06:22:22

标签: javascript arrays multidimensional-array

我收到此错误“无法设置未定义的属性'0'”

 var arrItems = {
    'product1': [],
    'product2': [],
    'product3': []
};

var temArr = {};
var dataFor = "";

function fnAddItem(elm, itemInd, rem) {

    if (elm != "" && elm != undefined) {
        var _name = $(elm).attr("data-name");
        var _id = $(elm).attr("data-id");
        var _in = $(elm).attr("data-index");
        itemInd = _in;

        *arrItems[dataFor][_in] = {
            'name': _name,
            'id': _id,
            'index': _in
        };*
        console.log(arrItems[dataFor][_in]);
    }

    var strHtml = "";

    $.each(arrItems[dataFor], function(key, value) {
        if (value['name'] != undefined || value['name'] != null)
            strHtml += '<div onclick="fnRemoveItem(this,0,\'' + dataFor + '\');" class="__selected_item" data-remove="' + value['index'] + '"><span>' + (value['index'] == 1 ? value['index'] : "") + value['name'] + (value['index'] == 3 ? value['index'] : "") + '</span><span class="x">&times;</span></div>';
        console.log(strHtml);
    });
}

1 个答案:

答案 0 :(得分:0)

因此,似乎您尚未为dataFor定义任何值。在代码中,您获得的arrItems[dataFor]的值为undefined,因为自dataFor=''以来,您基本上是在做arrItems[''],所以不存在。

dataFor必须设置为arrItems对象中3个值之一,代码才能起作用。

相关问题