繁体   English   中英

Javascript-函数不返回数组,将日志记录到控制台就可以了

[英]Javascript - Function not returning array, logs to console just fine

我的代码应该接受ID的列表,此列表与某些元素上的Scarlet-id相匹配。 然后,我的代码将使用elements属性和value建立一个数组。 这就是问题所在,当我console.log数组时,它在Chrome控制台中的输出就很好。

输出到控制台

但是,当我将数组传递给JSON.stringify或尝试在AJAX请求中使用它时,不会传输任何数据。 (下面是JSON.stringify的输出)

JSON.stringify输出

这是我的代码。

function getScarletIDInfo(scarletIDs)
{

    var scarletIDinfo = new Array();    

    for (var i = 0; i < scarletIDs.length; i++) 
    {

        scarletIDinfo[scarletIDs[i]] = new Array();

        $($(getSpecificSelector(scarletIDs[i]))[0].attributes).each(function() 
        {

            scarletIDinfo[scarletIDs[i]][this.nodeName] = this.nodeValue;

        });

    };

    console.log(scarletIDinfo);
    console.log(JSON.stringify(scarletIDinfo));

    return scarletIDinfo;

}

function getSpecificSelector(scarletID)
{

    return "*[scarlet-id=" + scarletID + "]";

}

如果有人能指出我要去哪里错了,我将不胜感激。

您需要一个对象,而不是数组。

var scarletIDingo = {};
// ...
    scarletIDinfo[scarletIDs[i]] = {};
// ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM