gpt4 book ai didi

javascript - 如何从数组中提取某些元素?

转载 作者:行者123 更新时间:2023-12-03 11:43:39 24 4
gpt4 key购买 nike

下面的代码访问其中包含对象的数组。每个对象都有 id、url 和标签。我希望能够基本上使用标签来显示与我建议的标签连接的随机 URL。

例如,我希望 window.currentlyShownOffer.Tag 始终等于 Garden。花园是一个标签。

function receivedData(data) {

function changeOfferPicture() {
if (window.currentlyShownOffer) {
var tagArray = data[window.currentlyShownOffer.Tag];
tagArray.splice(tagArray.indexOf(currentlyShownOffer), 1);
//alert(window.currentlyShownOffer.ImagesId);

}


var tags = Object.keys(data);
var randomTag = tags[Math.floor(Math.random() * tags.length)];
var tagArray = data[randomTag];


window.currentlyShownOffer = tagArray[Math.floor(Math.random() * tagArray.length)];
document.getElementById('content').src = window.currentlyShownOffer.ImagesPath;
};
}

关于数组是什么样子的任何想法:

{“Garden”:[{“ImagesId”:”63”,”ImagesPath”:”http….”,”Tag”:”Garden”},{“Garden”:[{“ImagesId”:”64”,”ImagesPath”:”http….”,”Tag”:”Garden”}]{“Food”:[{“ImagesId”:”63”,”ImagesPath”:”http….”,”Tag”:”Food”},{“Food”:[{“ImagesId”:”63”,”ImagesPath”:”http….”,”Tag”:”Food”}]

更新

function receivedData(data) {

function changeOfferPicture() {
if (window.currentlyShownOffer) {
var tagArray = data[window.currentlyShownOffer.Tag];
tagArray.splice(tagArray.indexOf(currentlyShownOffer), 1);
//alert(window.currentlyShownOffer.ImagesId);

}


var tags = Object.keys(data);
var randomTag = tags[Math.floor(Math.random() * tags.length)];
var tagArray = data[randomTag];

function getObjectsWithTag(tag, tagArray){
return tagArray.filter(function(item){
return item.tag === tag;
});
}

getObjectsWithTag(Garden);


window.currentlyShownOffer = tagArray[Math.floor(Math.random() * tagArray.length)];
document.getElementById('content').src = window.currentlyShownOffer.ImagesPath;
};
}

这可能是关于数组的更好的想法:

{
“Garden’ : [{‘ImagesId”: ”38”, ”ImagesPath”: ”url”, ”Tag”: ”Food”}],
“Sport’: [{‘ImagesId”: ”64”, ”ImagesPath”: ”url”, ”Tag”: ”Sport”}]
}

最佳答案

您可以使用Array.filter()获取带有特定标签的所有项目。如果 tagArray 具有带有包含标签名称的键 tag 的对象:

function getObjectsWithTag(tag, tagArray){
return tagArray.filter(function(item){
return item.tag === tag;
});
}

返回的值将是一个数组,仅包含与原始 tagArray 中的标签名称匹配的项目。

关于javascript - 如何从数组中提取某些元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26152655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com