你好 StackOverflow 社区!
此刻我完全坚持我的代码,尝试了不同的方法来在选择时从数组中删除一个值,我知道我必须为它使用拼接,但由于某种原因它没有按照我想要的方式进行做
由于网页比较难解释,我的英语不是很好,所以我做了一些截图,希望你看到我想做的时候能明白!
这是用户在访问网页时会看到的内容,它基本上是一个 lenormand 游戏。用户必须将 3 张卡片拖到卡片下方的灰色框中。
一旦他将 3 张卡片拖到框中,用户可以单击图像 (Cards) 将它们翻转 (flip)
这工作正常,唯一的问题是我不希望用户选择相同的卡片两次甚至三次,因为我用数组来做这个,我认为我应该使用 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 可以为我提供我想要的帮助:)
谢谢!
最佳答案
您可以使用 splice()
从数组中删除一个元素,因为 splice 返回一个数组,然后您可以访问索引 0 处的元素以获取获取的 src 值
'<div class="back"><img src="./kaart/' + cars.splice(Math.floor(Math.random() * cars.length),1)[0] + '.png"</img> </div>'
关于JavaScript 数组拼接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29072506/