首页 > 解决方案 > Javascript而不是映射到数组,一次返回一个值而不是数据列表?

问题描述

有没有办法在调用函数时从数组的每个索引返回单个值,而不是将其映射到数组中?因为这个数组是动态的,所以它会不断有新的数据附加到这个数组上。因此这个数组会变大。这是我的代码:

async function fetchTemperature(){
            const response = await fetch("sampleData.json");
            const data = await response.json();
            
            //finding temperature
            var temp = data.records.map(function(elem){
                return elem.Temperature;
            });
            console.log(temp); //returns an array instead of one value
        }

这是我的 JSON 文件:

    {
    "records": [
        {
            "People":2,
            "Temperature": 27,
            "Humidity": 65,
            "Date": "2021-03-16",
            "Time": "10:06"
        },
        {
            "People":3,
            "Temperature": 27,
            "Humidity": 61,
            "Date": "2021-03-16",
            "Time": "10:07"
        },
        {
            "People":5,
            "Temperature": 26,
            "Humidity": 62,
            "Date": "2021-03-16",
            "Time": "10:08"
        },
        {
            "People":5,
            "Temperature": 26,
            "Humidity": 62,
            "Date": "2021-03-16",
            "Time": "10:08"
        },
        {
            "People":5,
            "Temperature": 28,
            "Humidity": 65,
            "Date": "2021-03-16",
            "Time": "10:09"
        },
        {
            "People":5,
            "Temperature": 28,
            "Humidity": 65,
            "Date": "2021-03-16",
            "Time": "10:09"
        }
        
    ]
}

我的愿望输出是:

> fetchTemperature()
> 27
> fetchTemperature()
> 27
> fetchTemperature()
> 26

标签: javascriptjsonchart.js

解决方案


map 返回一个数组。因此,使用 join 并将换行符作为分隔符传递可以输出您想要的内容。

async function fetchTemperature(){
            const response = await fetch("sampleData.json");
            const data = await response.json();
            
            //finding temperature
            var temp = data.records.map(function(elem){
                return elem.Temperature;
            });
           console.log(temp.join('\r\n'));
        }

推荐阅读