【问题标题】:How to remove element from array in Javascript?如何从Javascript中的数组中删除元素?
【发布时间】:2015-10-28 14:31:31
【问题描述】:

所以我试图从字符串中随机选择一个元素,将该元素复制到另一个数组中,然后从原始字符串中删除随机选择的元素。

但是,我似乎无法让我的代码正确执行此操作。我尝试切片和弹出原始字符串,但两种技术似乎都不起作用,我不知道为什么。如果有人可以提供帮助,我将不胜感激。

for (var i=0; i < inputword.length; i++)
{
    letter = inputword[Math.floor(Math.random() * inputword.length)];
    anagram[i]=letter;
    inputword.slice(letter,1);
}

$("label").text(anagram);

【问题讨论】:

标签: javascript jquery arrays string random


【解决方案1】:

切片返回原始数组的浅拷贝,it does not alter 原始数组。作为Zaphyk states,您希望将切片的返回分配给“inputword”,以便将删除保留到您的原始数组。

小心拼接,因为它作用于原始数组但returns the removed elements

【讨论】:

    【解决方案2】:

    代码中的正确方法是

    inputword = inputword.slice(letter,1);
    

    因为 slice() 返回一个新数组。

    您也可以使用 splice() 来修改现有数组。

    【讨论】:

      【解决方案3】:
      for (var i=0; i < inputword.length; i++)
      {
        letter = inputword[Math.floor(Math.random() * inputword.length)];
        anagram[i]=letter;
      
        //You need to reassign your sliced word
        inputword = inputword.slice(letter,1);
      }
      $("label").text(anagram);
      

      【讨论】:

        猜你喜欢
        • 2011-01-01
        • 1970-01-01
        • 2022-12-26
        • 2020-02-12
        • 2018-08-13
        • 2011-03-14
        • 2022-11-03
        • 1970-01-01
        相关资源
        最近更新 更多