Hello StackOverflow社区!
目前我完全坚持使用我的代码,尝试不同的方法从数组中删除一个值,我知道我必须使用splice,但由于某种原因,它不是我想要它做的做
由于网页很难解释,因为我的英语很好,我已经制作了一些屏幕截图,我希望你在看到我想做的事情时能得到这个想法!
这是用户访问网页时会看到的内容,它基本上是一个lenormand游戏。用户必须将3张卡片拖入卡片下方的灰色框中。
一旦他将3张牌拖到盒子里,用户就可以点击图片(卡片)来翻转它们(翻转)
这很好用,唯一的问题是我不希望用户选择相同的卡两次甚至三次,因为我用数组做这个,我以为我应该使用Splice功能,但是远,没有结果!
对于JavaScript代码,这里是JSFiddle http://jsfiddle.net/dkk2nqyg/
在某处,我必须添加拼接
$(function () {
var cars = ["2", "3", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "4"];
var rand = cars[Math.floor(Math.random()*cars.length)];
$(".cards img").each(function(index) {
$(this).wrap('<div class="front"></div>')
.parent().wrap('<div class="flipper"></div>')
.parent().wrap('<div class="flip-container"></div>')
.append('<div class="back"><img src="./kaart/'+cars[Math.floor(Math.random()*cars.length)]+'.png"</img> </div>');
});
我尝试了许多解决方案,但问题是我需要在这里拼接,至少,我认为:
.append('<div class="back"><img src="./kaart/'+cars[Math.floor(Math.random()*cars.length)]+'.png"</img> </div>');
我很乐意解决这个问题,希望StackOverflow可以为我提供我想要的帮助:)
谢谢!
答案 0 :(得分:0)
首先,将随机数放在一个单独的变量
中var rnd = Math.floor(Math.random()*cars.length);
var rand = cars[rnd];
然后从数组中删除该特定项目
cars.splice(rnd, 1);
干杯 [R
答案 1 :(得分:0)
您可以使用splice()
从数组中删除项目,因为splice返回一个数组,然后您可以访问索引0处的元素以获取获取的src值
'<div class="back"><img src="./kaart/' + cars.splice(Math.floor(Math.random() * cars.length),1)[0] + '.png"</img> </div>'