所以这是JSON文件的最新内容:
{
"page": 1,
"total_pages": 10,
"listings": [
{
"name": "Bob",
"occu": "Entry",
"team": "Blue",
"sec": 3,
"days": 16
},
{
"name": "Tom",
"occu": "Advance",
"team": "Main",
"sec": 1,
"days": 23
},
This continues on with hundreds of other entries...
如何提取"天"的价值?只有"名称"以汤姆为例。
很抱歉,如果这是一个原始问题,我刚刚开始开发和即时开发一个快速项目,这将有助于我的本地运动团队,而且我的脚本或API非常先进。感谢
答案 0 :(得分:1)
提取"天"的价值只有"名称"汤姆需要filter
'Tom'
名称然后map
days
let listings = [
{
"name": "Bob",
"occu": "Entry",
"team": "Blue",
"sec": 3,
"days": 16
},
{
"name": "Tom",
"occu": "Advance",
"team": "Main",
"sec": 1,
"days": 23
},
{
"name": "Tom",
"occu": "Advanddce",
"team": "Maiddn",
"sec": 1,
"days": 55
}
];
const result = listings.filter(listing=> listing.name=="Tom").map(listing => listing.days);
console.log(result);

答案 1 :(得分:0)
您可以创建一个这样的函数,它循环遍历对象的数组(listings
):
getDaysFromListings = (listings, name) => {
for (let listing of jsonObj.listings) {
if (listing.name === name) {
return listing.days;
}
}
// didn't find 'Tom', return empty string
return '';
}
然后,像这样调用你的函数:
// assuming your entire json object is stored in a variable called "json"
let days = getDaysFromListings(json.listings, 'Tom');
由于您的变量days
来自string
,因此您可以将其转换为number
+days
。
修改:要将变量days
添加到html,首先,我们假设您要将文本添加到如下所示的div中:
<div id="target"></div>
您可以使用javascript在此处添加days
变量,如下所示:
// assume you already stored the data in variable
document.getElementById('target').innerHTML = days;
注意:您必须在加载上面的html div
后加载此javascript 。
答案 2 :(得分:0)
由于有很多方法可以实现这一点并且确定这可能不是最好的方法,因此一种方法是使用Array.prototype.find https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find
var array1 = [{
"name": "Bob",
"occu": "Entry",
"team": "Blue",
"sec": 3,
"days": 16
}, {
"name": "Tom",
"occu": "Advance",
"team": "Main",
"sec": 1,
"days": 23
}];
var found = array1.find(function(element) {
return element.name === "Bob";
});
console.log(found.days);