如何从数组javascript中删除?

时间:2016-02-11 17:28:33

标签: javascript

我的代码在数组中打开一个随机网站,但要停止访问同一个网站,有一种方法可以在访问后删除它。继承人我的尝试。

<button onclick="randomLink()";>Click here to go somewhere else!</button>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

<script type="text/javascript">

var randomLink = function () {

    var links = new Array(); 
        links[1] = "http://google.com";
        links[2]="http://bing.com";

    var max = (links.length)


    var randomNumber = Math.floor(Math.random()*max);


    var link = links[randomNumber];

    links.splice(randomNumber,1);


    $('iframe').attr('src', link);
}
</script>

<iframe src="" name="iframe_a" ></iframe>

4 个答案:

答案 0 :(得分:1)

links移到函数之外:

var links = [
  "http://google.com",
  "http://bing.com"
];

var randomLink = function() {
  var max = links.length;
  var randomNumber = Math.floor(Math.random() * max);
  var link = links[randomNumber];
  links.splice(randomNumber, 1);
  $('iframe').attr('src', link);
};

答案 1 :(得分:0)

每次调用该函数时,所有url都会添加到数组中。尝试在函数外部定义数组。 删除一些东西叫做splice!

最好的, 塞比

答案 2 :(得分:0)

这是真正的代码,你有;在&#34;&#34;。

之后

&#13;
&#13;
<button onclick="randomLink()">Click here to go somewhere else!</button>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

<script type="text/javascript">

var randomLink = function () {

    var links = new Array(); 
        links[1] = "http://google.com";
        links[2]="http://bing.com";

    var max = (links.length)


    var randomNumber = Math.floor(Math.random()*max);


    var link = links[randomNumber];

    links.splice(randomNumber,1);


    $('iframe').attr('src', link);
}
</script>

<iframe src="" name="iframe_a" ></iframe>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

你使用splice来做,例如我们有arr:

arr = [1,2,3,4,5,6]

要删除保留arr[2]值的3,我们可以这样做:

arr.splice(2,1);

arr将成为[1,2,4,5,6]

3是删除值的上一个索引,1是该索引后要删除的值。

您可以在MDN中详细了解splice