javascript - 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
解决方案
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'));
}
推荐阅读
- amazon-web-services - 我在谷歌的 ip 是什么给了我我的 Ip。如果我将其作为入站规则放在 AWS RDS 安全组中,是否只允许访问我的计算机
- javascript - if...else 在 JavaScript 中的逻辑问题
- git - git tortoise:2.1 错误代码128,“致命:远程端意外挂断”
- gatsby - 使用 gatsby-source-figma 插件运行 Gatsby 服务器时重复出现错误
- c# - Windows 窗体控件自定义集合正在使设计器崩溃而不报告任何错误
- ms-word - 有没有办法编写 Microsoft Word 脚本来自动保存所有打开的文档?
- java - 将 Spring Boot 从 2.1.x 升级到 2.3.3 时无法获取云配置
- java - 将 JWT 部署为远程服务或公共库
- twilio - 我可以在不发送传真的情况下测试 Twilio 传真侦听页面吗
- android-studio - 在gmail应用程序中单击链接时如何重定向到应用程序?