【问题标题】:Searching through many arrays to see if any of the name matches another var?搜索许多数组以查看是否有任何名称与另一个 var 匹配?
【发布时间】:2018-04-20 09:42:27
【问题描述】:

嘿,如果图像数组的名称与所选元素的数据属性匹配,我正在尝试创建一个创建警报的函数。这只是在我推进我的实际计划之前的一个测试,但我被困在这里。我的困惑是双重的。

注意:抱歉,我是 javascript 新手,请多多包涵。

1)如何比较数组名和var?

2)如何搜索所有存在的数组,是否需要创建嵌套数组或其他函数?身份证

我的网页有未确定数量的模态图像,单击这些图像会打开图像幻灯片相册。我得到了这个为 1 个图像工作,然后意识到要让它为数量不确定的大小不确定的幻灯片工作,我应该制作一个填充幻灯片 div 的函数。我计划让每个模态图像都有一个“1,2,3...等”的数据属性,并有一堆数组,每个图像的名称都类似“1,2,3...等”,如果两者的名称匹配,然后它将使用数组中的图像填充幻灯片。这样,如果我需要添加另一个模态图像,我需要做的就是给它适当的 id 并添加一个图像数组。我希望这很清楚,如果没有,我会提供更多说明。

HTML:

<div class="row">
  <div class="column">
    <img id="modal-1" src="https://www.yosemitehikes.com/images/wallpaper/yosemitehikes.com-bridalveil-winter-1200x800.jpg" style="max-width:100%" data-modal="1" onclick="/*openModal();currentSlide(1);*/ fillSlides(this);" class="hover-shadow cursor">
  </div>
</div>

Javascript:

 function fillSlides(modalID){
    var slides_1 = ["Images/LS_01.jpg", "Images/LS_02.jpg", "Images/LS_03.jpg", "Images/LS_04.jpg" ];
 var slides_2 = ["Images/LS_05.jpg", "Images/LS_06.jpg", "Images/LS_07.jpg", "Images/LS_08.jpg" ];
var slides_3 = ["Images/LS_09.jpg", "Images/LS_10.jpg", "Images/LS_11.jpg", "Images/LS_12.jpg" ];

    var modal_num = modalID.getAttribute('data-modal');
    alert(modal_num);

    }

【问题讨论】:

  • (someArray.indexOf('testValue')!=-1) 你只显示了 1 个数组,所以我无法为多个数组制作版本
  • 你的意思是如果data-modal="1" 你想要LS_01.jpg 因为它里面有一个1
  • @Barmar 不,我的意思是我想将它与数组的名称相匹配,我已经对多个数组进行了编辑。
  • 数组没有名字。你的意思是变量名吗?
  • 任何时候你想动态处理变量名,你应该使用一个将名字映射到值的对象。

标签: javascript html arrays


【解决方案1】:

您应该使用一个将您想要的数据映射到图像数组的对象:

var slides = {
    "1": ["Images/LS_01.jpg", "Images/LS_02.jpg", "Images/LS_03.jpg", "Images/LS_04.jpg" ],
    "2": ["Images/LS_05.jpg", "Images/LS_06.jpg", "Images/LS_07.jpg", "Images/LS_08.jpg" ],
    "3": ["Images/LS_09.jpg", "Images/LS_10.jpg", "Images/LS_11.jpg", "Images/LS_12.jpg" ]
};

然后您可以使用slides[modal_num] 获取被点击图片的幻灯片。

【讨论】:

  • 非常感谢我不知道可以这样做。我会尝试一下,希望它有效。
  • 我将如何进一步提取实际图像?在我的代码中,我将(在我的幻灯片容器中)为每个图像创建一个 div.mySlides。那么我将如何访问每个单独的图像?
  • slides[modal_num] 赋值给一个变量,然后循环遍历它。
  • slides[modal_num][i] 访问数组中的第 i 个图像。
  • 这都是基本的 Javascript 语法,没什么复杂的。数组就是数组,不管它来自哪里。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-22
相关资源
最近更新 更多