2

我目前正在制作一个游戏,它需要我从一个数组中取出一个对象并将其放入另一个数组中。

a = obj;
array1.splice(a);
array2.push(a);

(a 已经在 array1 中)

这几乎是我需要发生的事情。

我不是专家,所以请深入解释您的答案。

4

2 回答 2

2

Javascript Array Splice() 方法的工作原理如下...

array.splice(索引,多少)

它需要删除项目的索引号,删除多少项目作为它的参数,这两个是必需的。

有关更多信息,您可以点击此链接:http ://www.w3schools.com/jsref/jsref_splice.asp

因此,您的问题可以通过以下方式解决...

a = obj;
var index = array1.indexOf(a);
array1.splice(index,1);
array2.push(a);
于 2013-10-24T22:16:39.073 回答
1

splice(start, ?deleteCount) 函数用于获取数组中的一个或多个元素,并从数组中移除选中的元素。

slice(?start, ?end) 切片检索选定元素而不更改数组。

例如我有这个数组:

const months = ['Jan', 'March', 'April', 'June'];

let selectedElementsWithSlice = months.slice(2, 3);
//["April"]
// months = ['Jan', 'March', 'April', 'June']

let selectedElements = months.splice(2, 1); // removed from array months
//["April"]
// months = ['Jan', 'March', 'June']

对于您的主题,您希望将元素复制到其他数组。

您有多个解决方案:

  1. 对于选择的第一个元素(如果需要,检查是否包含)
array.push(months.slice(2, 3)[0]);
  1. 对于所有选定的元素
[ ... array, ... months.slice(2, 3) ]

参考 :

拼接文档:https ://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/splice

切片文档: https ://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/slice

于 2021-04-20T18:51:26.933 回答