JavaScript 函数未按预期返回数组

标签 javascript jquery

我有一个 json 数组和一个简单的函数来返回一些数据。我可以将我想要的数据位记录到控制台(该函数当前执行此操作是为了测试),但它没有返回。

Stackers,请帮助我疲惫的大脑,让我知道我哪里出错了。

(代码非常不言自明,函数调用位于 .js 的底部)

http://jsfiddle.net/BDJeU/

function getCountryData(data, country)
{
    $.each(data, function(index) {

        if( data[index]["Country"] == country )
        {
            console.log( data[index]["Country"] );
            console.log( data[index]["data"] );
            return data[index]["data"];
        }
    });
}

最佳答案

试试这个:

http://jsfiddle.net/BDJeU/3/

    function getCountryData(data, country)
    {
        var returnData;
        $.each(data, function(index) {

            if( data[index]["Country"] == country )
            {
                returnData = data[index]["data"];
                return false;
            }
        });
        return returnData;
    }

它不起作用的原因是您返回到 each 函数。因此,设置一个在迭代之外分配值的变量将为您提供所需的数据。

关于JavaScript 函数未按预期返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10713347/

相关文章:

JavaScript 从 nodeList 获取数据属性?

javascript - Google 图表将侧面设置为仅显示

jQuery 选择器无法通过 ID 找到我的元素

javascript - 将 HTML 内容作为属性动态传递给 Angular 指令

jquery - OpenLayers 4 - 适合所选要素的范围

javascript - 隐藏div点击其他

javascript - 我想更改 div 显示/隐藏脚本以使用选择菜单而不是单选按钮

javascript - D3.js Bilevel Partition - 初始图表加载切片放大

javascript - 为什么 ng-style 函数应用了两次?

javascript - 创建一个随机的 YouTube 视频播放器