JavaScript 数组拼接

标签 javascript jquery html css arrays

你好 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/

相关文章:

javascript - 如何从数组 Javascript/Jquery 中删除 obj

javascript - HTML5 Canvas Javascript 如何制作平滑的笔刷

jquery - CSS 宽度不适用于 <ul> <li> <label> 等

javascript - 链接到 bxSlider 幻灯片

javascript - 按 Enter 重新加载页面而不是提交表单

Javascript - 将 HTML 标签从 textarea 替换为 div

javascript - 如何在 JavaScript 中对包含字母和数字的字符串的数组进行排序

javascript - 如何验证空白输入搜索框

html - 使用 srcset 更改图像链接而不是图像本身?

html - 在 css3 中使用 font-face 更改外语字体?