JS如何从数组中移除特定字符?

3

在这个例子中,我该如何从数组中删除一个特定的数字。 我的数组nums有9个数字,空数组narr。 我想要从nums中删除一个随机索引(称为rand),并将其添加到narr中。 在narr中推入是正确的,但是当我尝试通过pop、splice、slice等方法从nums中删除相同的数字时,它没有得到正确的答案。我应该使用哪种方法?

function sudoku(arr){
  let nums = [1,2,3,4,5,6,7,8,9];
  let narr = [];
  for(let i = 0; i<9; i++){
    let rand = Math.floor(Math.random()*nums.length);
    narr.push(nums[rand]);
    nums.pop(nums[rand]);    
  }
  return narr; 
}
1个回答

3

你应该使用splice()从数组中删除元素。 pop()会删除最后一个元素。如果你想从索引rand中删除一个元素,可以使用splice()

splice()的第一个参数是要删除元素的索引,第二个参数是要删除的元素数量。

nums.splice(rand, 1);   

如果您认为问题已经解决,请接受答案。如果您有任何问题,可以提出。 - Maheer Ali

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接