我想知道是否有一种方法可以从.json
中获取所有“ -temp”值
{
"weather":{
"notes":{
"cities":[
{
"-id":"scranton",
"-temp":"17"
},
{
"-id":"paris",
"-temp":"16"
},
{
"-id":"new york",
"-temp":"18"
}
]
}
}
}
我如何尝试使用JavaScript来获取它,但是那没用,我得到了undefined
data.weather.notes.cities['-temp']
如何获取“ -temp”的每个值?
答案 0 :(得分:4)
您可以使用map:
const temps = data.weather.notes.cities.map(city => city["-temp"]);
console.log(temps); // ["17", "16", "18"]
当然,您始终可以始终单独访问它们:
const { cities } = data.weather.notes;
console.log(cities[0]["-temp"]); // "17"
或全部循环:
for (let city of cities) {
console.log("temperature in %s is %s°",
city["-id"], city["-temp"]
);
}
答案 1 :(得分:0)
以下是将城市的临时温度插入新数组的示例:
const newArray= new Array();
data.weather.notes.cities
.forEach(city => newArray.push(city['-temp']))
答案 2 :(得分:0)
您可以遍历所有城市并收集“ -temp”键。
data.weather.notes.cities.forEach(function(element) {
for (var em in element) {
if (em == "-temp")
{
console.log(element[em])
}
}
});
@ ZER0答案可能是最好的。
答案 3 :(得分:0)
var data = {
"weather":{
"notes":{
"cities":[
{
"-id":"scranton",
"-temp":"17"
},
{
"-id":"paris",
"-temp":"16"
},
{
"-id":"new york",
"-temp":"18"
}
]
}
}
};
for(var i in data.weather.notes.cities) {
let city = data.weather.notes.cities[i];
console.log(city["-temp"]); //You_ can get it here
}
答案 4 :(得分:0)
您不能像使用jquery选择器一样使用JSON。就您而言,您需要绘制一系列城市的地图。
const object = {
"weather":{
"notes":{
"cities":[
{
"-id":"scranton",
"-temp":"17"
},
{
"-id":"paris",
"-temp":"16"
},
{
"-id":"new york",
"-temp":"18"
}
]
}
}
};
const tempList = object.weather.notes.cities.map(city => city['-temp']);
//result: ["17", "16", "18"]
有关更多信息,请参见map文档。